ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Http协议报文详解

Http协议报文详解

原创 Linux操作系统 作者:pathfinder_cui 时间:2015-08-15 17:11:15 0 删除 编辑
HTTP报文:
    HTTP请求报文request
    报文格式:
        <method><request-URL><version>
        <headers>
 
        <entity-body>
    
    HTTP响应报文response
    报文格式:
         <version><status><reason-phrase>
         <headers>
         
         <entity-body>

注释:<version>格式HTTP/<major>.<minor> 如:http/1.1
     
<headers>首部:
        Name:Value
           Content-type:images/gif
        分三类:
          通用首部:请求响应都可以使用的首部
                connection:定义C/S之间关系请求/响应都有关的选项;
                   对于http/1.0,connection:keep-alive
                via:显示了报文经过的中间节点
                cache-control:缓存指示

          请求首部:
                client-IP:
                Host:请求的主机名和端口号
                Refer:网页跳转 例如:<a href="test2.html">successful</a>
                user-agent:客户端什么工具请求的
                accept首部:用户标明客户端自己更倾向于支持的能力;
                accept:指明服务器能发送的的媒体类型;
                条件请求首部:
                    if-Modified-Since:是否在指定的时间以来修改过此资源;
                     ...
                跟安全相关的请求首部:
                    authorization:客户端提交给服务器端的认证数据,如账号和密码
                     cookie:客户端发送给服务器端身份标示
          响应首部:
               age:响应时间
               server:向客户端标明服务器程序名称和版本
               协商首部:
                    accept-ranges:对当前资源来讲,服务器所能接受的范围类型;
                    vary:
               安全相关的首部
                    set-Cookie:服务器端在某客户端第一次请求时发给令牌
                    www-authentication:质询,即要求客户端提供账号和密码;
                    
<entity-body>  实体首部:用于指定实体属性的首部
               location:资源的新位置
               allow:允许对此资源使用的请求方法
               内容首部:
                   content-language
               缓存首部:
                   Etag:实体标签
                   expires:过期期限
                   last-Modified:上次修改的时间
                   
          扩展首部:非标准首部  如:X-Forward-For
响应报文的状态吗:
         1xx:信息性状态码
         2xx:成功类状态码
              200:OK
              201:Create
         3xx:重定向状态码
              301:Moved Permanently(永久重定向)在响应报文中使用首部“location:URL"指定资源现在所处的位置;
              302:Found (临时重定向)在响应报文中使用首部"location:URL"指定临时位置;
              304:Not Modified;客户端第二次请求时,服务器告诉客户端资源没改,可以使用客户端本地缓存;(条件式请求中使用)
         4xx:代表客户端错误
              403:forbidden,请求被服务器拒绝;
              404:not found,服务器没有客户端要请求的资源;
              405:请求的方法不对;
         5xx:代表服务器错误
              500:internal server error,服务器内部错误,内部权限错误,脚本没有办法执行;
              502:bad gateway,代理服务器从上游收到一条伪响应;
              503:service unavailable,服务器此时无法提供服务,但将来可用
<method>
     GET:请求获取一个资源,需要服务器发送
     HEAD:跟GET相似,但其不需要服务发送资源而仅传回响应首部
     POST:支持HTML表单提交,表单中有用户填入的数据,这些数据会发送到服务器端,由服务器存储至某位置(例如发送给处理程序);
     PUT:与get相反,向服务写入文档;
     DELETE:请求删除URL指向的资源
     OPTIONS:探测服务器对某资源所支持的请求方法
     TRACE:跟踪请求要经过的防火墙、代理或网关等

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29620572/viewspace-1772500/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 安装mysql5.5
请登录后发表评论 登录
全部评论

注册时间:2014-04-21

  • 博文量
    55
  • 访问量
    70873