Http详解--Http响应(14)

一.服务器的http响应都发送了什么?

1.说明:一个HTTP响应代表服务器向客户端回送的数据,它包括:

一个状态行、若干响应头、以及实体内容 ,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。

2.响应报文结构

Http详解--Http响应(14)

3.一个完整的HTTP响应

Http详解--Http响应(14)

二.响应行

1.格式: HTTP版本号 状态码 原因叙述<CRLF>

举例:HTTP/1.1 200 OK

2.状态码:在响应报文中,随状态码一起返回的信息会因方法的不同而发生改变;

如:使用GET方法时,对应请求资源的实体会作为响应返回;而使用HEAD方法时,对应请求资源的实体首部不随报文主体作为响应返回(即在响应中只返回首部,不会返回实体的主体部分);

三.响应头

Location: http://www.it315.org/index.jsp

表示重定向的地址,该头和302的状态码一起使用。

Server:apache tomcat

表示服务器的类型

Content-Encoding: gzip

表示服务器发送给浏览器的数据压缩类型

Content-Length: 80

表示服务器发送给浏览器的数据长度

Content-Language: zh-cn

表示服务器支持的语言

Content-Type: text/html; charset=GB2312

表示服务器发送给浏览器的数据类型及内容编码

Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT

表示服务器资源的最后修改时间

Refresh: 1;url=http://www.it315.org

表示定时刷新

Content-Disposition: attachment; filename=aaa.zip

表示告诉浏览器以下载方式打开资源(下载文件时用到)

Transfer-Encoding: chunked

暂不考虑

Set-Cookie:SS=Q0=5Lb_nQ; path=/search

表示服务器发送给浏览器的cookie信息(会话管理用到)

Expires: -1

表示通知浏览器不进行缓存

Cache-Control: no-cache

表示客户端不接受缓存的响应,必须请求最新的资源。

Cache-Control: no-store

表示客户端不能缓存请求或者响应的任意一部分。

Cache-Control: max-age=604800(单位 :秒)

max-age 数值代表资源保存为缓存的最长时间。当指定 max-age 值为0或者缓存超过最大时间,那么缓存服务器通常需要将请求转发给 源服务器。

Pragma: no-cache

同上

Connection: close/Keep-Alive

表示服务器和浏览器的连接状态。close:关闭连接 keep-alive:保存连接

  

四.响应头字段

1.Accept-Ranges:这个字段说明web服务器是否支持Range,支持则返回Accept-Ranges: bytes;如果不支持,则返回Accept-Ranges: none。

2.Content-Range:指定了返回的web资源的字节范围。这个字段值的格式是——例,Content-Range: 1000-3000/5000。

  

注意:HTTP响应头字段不常用。

五.通用信息头

1.说明:通用信息头指既能用于请求,又能用于响应的一些消息头。

Cache-Control: no-cache

Pragma: no-cache

Connection: close/Keep-Alive

Date: Tue, 11 Jul 2000 18:23:51 GMT