2.3 HTTP响应报文(response massage)

本文详细解释了HTTP响应报文的构成,包括状态行、HTTP版本号、状态码、响应头部(如服务器属性、内容类型等)、以及可选的响应数据。特别强调了HTTP报文的文本性质和可能的字段重复处理方式。
摘要由CSDN通过智能技术生成

HTTP响应报文(response massage

每一个请求报文发出后,都能收到服务器端的一个响应报文;

响应报文的格式一般如下:

状态行(Status-Line)(起始行)

“状态行”是HTTP响应报文的第一行,也只有三个内容(字段):

  1. 协议名称及版本号,即HTTP的版本号

        报文所使用的HTTP版本,格式为:

                HTTP/<major>.<minor>

        其中主要版本号(major)和次要版本号(minor)都是整数;

  1. 状态码

                HTTP状态码表示请求的状态;

  1. 解释状态码的简单短语

三个字段之间都以空格分隔开,最后的“CR”和“LF”分别代表“回车”和“换行”,表示一行的结束;

HTTP 报文的第一行用于区分当前报文是请求报文还是响应报文,在请求报文中的开始行叫做请求行(Request-Line),而在响应报文中的开始行叫做状态行(Status-Line)

HTTP请求报文和响应报文格式的区别就是开始行不同;

响应头部(首部,header、头部)

和请求头部相同,响应头部用来说明一些信息(例如描述客户端或者服务器的属性、被传输的资源以及应该实现连接);

响应头部也可以有好几行,每一行都表示一个头部(header)信息,但也可以不使用;

  1. 每一头部(header)信息都由字段名和它的值组成,标准规定字段名是大小写不敏感的,但是不同程序在解析字段名时可能是大小写敏感的;
  2. 字段名和它的值冒号(:)分隔,即格式为:“属性名:属性值”;而且在冒号后(域值前)可以添加任何数量的空格(一般会有一个空格);
  3. 每一行在结束的地方都要有“回车”和“换行”,表示一个头部信息的结束;

                <name>:<value><CRLF> 

HTTP 相应报文的头部字段主要分为

整个响应头部结束时,还有一空行(“CR”和“LF”)将响应头部和后面的报文主体分开;

响应数据(响应体、报文主体)

报文主体是报文要发送的数据,是第一个空行以后的所有部分;详细参见:实体、实体主体和报文主体

在请求报文中一般都不用这个字段,而在响应报文中也可能没有这个字段,即可选的;

注意:

  1. 由于HTTP是面向文本的(text-oriented),因此报文中的起始行和首部都只能是一些ASCII文本;而报文主体是一个可选的数据块,与起始行和首部不同的是主体可以是由任意数据组成的数据块(例如:文本或二进制数据),也可以为空;
  2. 若HTTP首部字段重复了的话,不同的浏览器处理机制不一样
    1. 有些浏览器会优先处理第一次出现的字段
    2. 有些浏览器会优先处理最后一次出现的字段

 

 

实例

HTTP/1.1 200 OK

Date: Mon, 27 Jul 2009 12:28:53 GMT

Server: Apache

Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT

ETag: "34aa387-d-1568eb00"

Accept-Ranges: bytes

Content-Length: 51

Vary: Accept-Encoding

Content-Type: text/plain

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值