Http详解--Http响应(14)
一.服务器的http响应都发送了什么?
1.说明:一个HTTP响应代表服务器向客户端回送的数据,它包括:
一个状态行、若干响应头、以及实体内容 ,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。
2.响应报文结构
3.一个完整的HTTP响应
二.响应行
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