zoukankan      html  css  js  c++  java
  • http 报文详解

    有前面一篇的客户端的请求报文解说,当然就有服务端的响应报文之说

    不多说,先上个图

    HTTP响应报文同样也分为三部分,有状态行、首部行、实体

    状态行:HTTP响应报文的第一行
    状态行包括三个字段:协议版本、状态码与原因短语。

    状态码:

    1xx:这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。

    2xx:这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。

    3xx:这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的Location域中指明。

    4xx:这类的状态码代表客户端类的错误。

    5xx:服务器类的错误。

    常见的状态码对照表:

    其他的状态码,有兴趣的话,可以自己去查看

    具体对应的网址:http://tools.jb51.net/table/http_status_code

    响应首部(首部行):位于响应报文状态行之后

    Date标头:消息产生的时间

    Age标头:(从最初创建开始)响应持续时间

    Server标头: 向客户端标明服务器程序名称和版本

    ETage标头:不透明验证者

    Location标头:URL备用的位置

    Content-Length标头:实体的长度

    Content-Tyep标头:实体的媒体类型

    协商首部:

    Accept-Ranges: 对当前资源来讲,服务器所能够接受的范围类型

    Vary: 首部列表,服务器会根据列表中的内容挑选出最适合的版本发送给客户端

    与安全相关的响应首部:

    Set-Cookie: 服务器端在某客户端第一次请求时发给令牌

    WWW-Authentication: 质询,即要求客户提供帐号和密码

    响应首部一般包含如下图

    实体:位于首部行之后

    实体包含了Web客户端请求的对象。Content-Length标头及Content-Type标头用于计算实体的位置、数据类型和数据长度。当Web服务器接收到Web客户端的请求报文后,对HTTP请求报文进行解析,并将Web客户端的请求的对象取出打包,通过HTTP响应报文将数据传回给Web客户端,如果出现错误则返回包含对应错误的错误代码和错误原因的HTTP响应报文。

  • 相关阅读:
    DNS服务器出错造成“不知道这样的主机”
    downadup.B蠕虫病毒处理手记
    今天新接触到一个名词——GSV
    客户端获取SQL服务端的MAC
    关于SQL事务的测试
    ftp://ftp.microsoft.com
    AJAX.DLL的使用
    "界面规则层与业务规则层"让我想开了
    客户端cookie也会传到服务端的Request.Params?
    Ext.Fx
  • 原文地址:https://www.cnblogs.com/fangdada/p/14891911.html
Copyright © 2011-2022 走看看