当发送一个请求报文后,服务器会根据请求回复一个响应报文
HTTP响应报文与请求报文在结构上相似,结构上通常也是由三部分组成
响应行,响应头,响应正文
这是我们访问百度后得到的一个响应报文
HTTP/1.1 200 OK Server: bfe/1.0.8.14 Date: Wed, 27 Apr 2016 02:31:35 GMT Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: keep-alive Vary: Accept-Encoding Cache-Control: private Cxy_all: baidu+c748df85742458b1265bb3521f1fc3b5 Expires: Wed, 27 Apr 2016 02:31:35 GMT X-Powered-By: HPHP X-UA-Compatible: IE=Edge,chrome=1 BDPAGETYPE: 1 BDQID: 0x85d3ce84006c3237 BDUSERID: 0 Set-Cookie: BDSVRTM=18; path=/ BD_HOME=0; path=/ H_PS_PSSID=17747_1433_18241_19781_17944_19803_18205_19806_19559_19807_18560_17001_15770_11762_10632; path=/; domain=.baidu.com __bsi=12895455012839499454_00_0_I_R_29_0303_C02F_N_I_I_0; expires=Wed, 27-Apr-16 02:31:40 GMT; domain=www.baidu.com; path=/ Content-Encoding: gzip
响应行包括三部分:HTTP版本号,HTTP状态码,解释状态码的短语
常见的HTTP状态码和对应解释状态的短语如下:
200 OK 客户端请求成功
301 Move Permanently 客户端请求的网页永久转移到了一个新地址,跳转
302 Found 客户端请求的网页转暂时性移到了一个新地址,跳转
400 Bad Request 客户端请求语法错误
401 Unauthorized 客户端请求未经授权
403 Forbidden 服务端收到请求但是拒绝提供服务
404 Not Found 客户端请求的资源不存在
500 Internal ServerError 服务端内部错误
503 Service Unavailable 服务端当期不能处理客户端的请求
响应头的内容和请求头的内容相似,常见的消息有:
Server:服务端所使用的web容器名称
Set-Cookie:向客户端设置Cookie
Last-Modified:显示请求资源最后的修改时间
Location:客户端收到这个消息会自动跳转到这个消息所指定的页面,通常配合301,302出现
Refersh:告知客户端定时刷新
Date: 消息产生的时间
Cache-Control:指定缓存的指令
Connection:允许发送指定链接的选项
Content-Type:向客户端指定实体的介质
Content-Encoding:被应用实体正文附加内容的编码格式,与Content-Type相对应的解码机制
Content-Length:指明实体正文的长度
通常响应正文就是我们请求的Html网页