zoukankan      html  css  js  c++  java
  • HTTP协议

    HTTP协议

    HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

    数据格式

    请求和返回是一样的数据格式,分为4部分:

    1. 请求行或者响应行
    2. Header(请求的 Header 中 Host 字段是必须的,其他都是可选)
    3. (连续两个换行回车符,用来分隔Header和Body)
    4. Body(可选)、

    请求的格式,注意大小写(这是一个不包含Body的请求):

    原始数据如下
    'GET / HTTP/1.1
    host:g.cn
    
    '
    打印出来如下
    GET / HTTP/1.1
    Host: g.cn
    
    其中
    1, GET 是请求方法(还有POST等,这就是个标志字符串而已)
    2,/ 是请求的路径(这代表根路径)
    3,HTTP/1.1  中,1.1是版本号,通用了20年
    
    具体字符串是 'GET / HTTP/1.1
    host:g.cn
    
    '
    

    返回的数据如下

    HTTP/1.1 301 Moved Permanently
    Alternate-Protocol: 80:quic,p=0,80:quic,p=0
    Cache-Control: private, max-age=2592000
    Content-Length: 218
    Content-Type: text/html; charset=UTF-8
    Date: Tue, 08 Jul 2018 02:30:25 GMT
    Expires: Tue, 08 Jul 2018 02:30:25 GMT
    Location: http://www.google.cn/
    Server: gws
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1; mode=block
    
    Body部分太长,先不贴了
    其中响应行(第一行):
    1,HTTP/1.1 是版本
    2,301 是「状态码」,参见文末链接
    3,Moved Permanently 是状态码的描述
    浏览器会自己解析Header部分,然后将Body显示成网页
    

    HTTP之状态码

    状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:

    1xx:指示信息--表示请求已接收,继续处理
    2xx:成功--表示请求已被成功接收、理解、接受
    3xx:重定向--要完成请求必须进行更进一步的操作
    4xx:客户端错误--请求有语法错误或请求无法实现
    5xx:服务器端错误--服务器未能实现合法的请求

    常见状态码:

    200 OK //客户端请求成功
    400 Bad Request //客户端请求有语法错误,不能被服务器所理解
    401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
    403 Forbidden //服务器收到请求,但是拒绝提供服务
    404 Not Found //请求资源不存在,eg:输入了错误的URL
    500 Internal Server Error //服务器发生不可预期的错误
    503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

    HTTP请求方法

    • 根据HTTP标准,HTTP请求可以使用多种请求方法。
    • HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。
    • HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

    GET 请求指定的页面信息,并返回实体主体。
    HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
    POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
    PUT 从客户端向服务器传送的数据取代指定的文档的内容。
    DELETE 请求服务器删除指定的页面。
    CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
    OPTIONS 允许客户端查看服务器的性能。
    TRACE 回显服务器收到的请求,主要用于测试或诊断。

  • 相关阅读:
    事件委托
    a标签深入研究
    windows查看端口号
    什么是WCM
    map key循环
    用Myeclipse打war包
    myeclipse 8.510.0 安装 svn 方法
    SVN使用&CVS使用
    MyEclipse 字体大小 字体颜色
    什么是Quickr
  • 原文地址:https://www.cnblogs.com/geniusrun/p/10750219.html
Copyright © 2011-2022 走看看