zoukankan      html  css  js  c++  java
  • http响应报文

    HTTP响应报文格式
    status-line 格式为:HTTP版本号 response-code response-phrase
    headers<0个或多个>
    <blank line>
    body

    响应头 status-line部分

      使用tcpdump截取下来的一段报文

    E..%..@.'..&.w..
    .....P..H]M9..N.
    ...z...........6
    .T..HTTP/1.1.304
    .Not.Modified..D
    ate:.Sat,.07.Nov
    .2015.09:22:57.G
    MT..Server:.Apac
    he/2.4.6.(CentOS
    ).OpenSSL/1.0.1e
    -fips.PHP/5.4.16
    .mod_perl/2.0.9d
    ev.Perl/v5.16.3.
    .Connection:.Kee
    p-Alive..Keep-Al
    ive:.timeout=5,.
    max=100..ETag:."
    7e-523ede518b4e4

    另一个响应报文

    E....U@.........
    .....P...Pk.....
    ....y........l..
    .j..HTTP/1.1.200
    .OK..Cache-Contr
    ol:.private..Con
    tent-Type:.text/
    html;.charset=ut
    f-8..Content-Enc
    oding:.gzip..Var
    y:.Accept-Encodi
    ng..Server:.Micr
    osoft-IIS/8.5..X
    -AspNet-Version:
    .4.0.30319..X-Po
    wered-By:.ASP.NE
    T..Date:.Sat,.07
    .Nov.2015.10:58:
    35.GMT..Content-
    Length:.8413....
    .............`.I
    .%&/m.{.J.J..t..
    .`.$..@.........
    iG#).*..eVe]f.@.
    .....{....{....;
    .N'...?fd.l..J.
    ..!....?~|.?"~..
    7N...O.<y...<M..
    .<...[.nQ...>...
    ....WWW..{......
    .......#j.x.g...

      

      以此来分析

      响应报文头部的第一行叫状态行,以HTTP版本号开始,后面三位数字为响应代码,接着是易读的响应短语

    状态行:HTTP/1.1.304.Not.Modified

      响应码如下 详见:这里

    1 1xx消息
    2 2xx成功
    3 3xx重定向
    4 4xx客户端错误
    5 5xx服务器错误

       之后是首部字段 使用空行将所有首部字段跟报文主体分割开来 格式:字段名: 空格 字段值

      首部字段如下

    通用首部字段
    
    首部字段名           说明
    CacheControl         控制缓存的行为
    Connection         允许客户端和服务器指定与请求/响应连接有关的选项
    Date             报文创建时间
    Progma            报文指令
    Trailer           报文末端的首部一览
    Transfer-Encoding     指定报文主体的传输编码方式
    Upgrade           升级为其它协议
    Via              代理服务器的相关信息
    Warning           错误通知

    响应首部字段
    
    首部字段名     说明
    Accept-Ranges     是否接受字节范围请求
    Age     推算资源创建经过时间
    Etag     资源的匹配信息
    Location     令客户端重定向至指定URI
    Proxy-Authenticate     代理服务器对客户端的认证信息
    Retry-After     对再次发起请求的时机要求
    Server     HTTP服务器的安装信息
    Vary     代理服务器缓存的管理信息
    WWW-Authenticate     服务器对客户端的认证信息
    实体首部字段
    
    首部字段名     说明
    Allow     资源可支持的HTTP方法
    Content-Encoding     实体主体适用的编码方式
    Content-Language     实体主体的自然语言
    Content-Length     实体主体的大小
    Content-Location     替代对应资源的URI
    Content-MD5     实体主体的报文摘要
    Content-Range     实体主体的位置范围
    Content-Type     实体主体的媒体类型
    Expires     实体主体过期的日期时间
    Last-Modified     资源的最后修改日期时间
    请求首部字段
    
    首部字段名     说明
    Accept     用户代理可处理的媒体类型
    Accept-Charset     优先的字符集
    Content-Encoding     优先的内容编码
    Content-Language     优先的语言
    Authorization     Web认证信息
    Expect     期待服务器的特定行为
    From     用户的电子邮箱地址
    Host     请求资源所在服务器
    If-Match     比较实体标记(ETag)
    If-Modified-Since     比较资源的更新时间
    If-None-Match     比较实体标记(与If-Match相反)
    If-Range     资源未更新时发送实体Byte的范围请求
    If-Unmodified-Since     比较资源的更新时间(与If-Modified-Since相反)
    Max-Forwards     最大传输逐跳数
    Proxy-Authorization     代理服务器要求客户端的认证信息
    Range     实体的字节范围请求
    Referer     对请求中URI的原始获取方
    TE     传输编码的优先级
    User-Agent     HTTP客户端程序的信息

    一个回车换行 分割开首部和body

  • 相关阅读:
    298. Binary Tree Longest Consecutive Sequence
    128. Longest Consecutive Sequence
    59. Spiral Matrix II
    54. Spiral Matrix
    186. Reverse Words in a String II
    151. Reverse Words in a String
    61. Rotate List
    Beyond Compare脚本:命令行批量比较文件并生成html格式的差异报告
    Moving XML/BI Publisher Components Between Instances
    VSTO学习笔记
  • 原文地址:https://www.cnblogs.com/reddusty/p/4945834.html
Copyright © 2011-2022 走看看