黑马程序员技术交流社区
标题: HTTP请求和响应报文 [打印本页]
作者: ♂张耕明 时间: 2012-10-21 21:30
标题: HTTP请求和响应报文
本帖最后由 ♂张耕明 于 2012-10-21 21:35 编辑
HTTP请求报文:
请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有:
GET / HTTP/1.1 /*表示向服务器使用GET方式请求首页,使用HTTP/1.1协议*/
Accept: text/html, application/xhtml+xml, */* /*客户端可识别的内容类型列表。*/
Referer: http://www.hopedot.cn/404.html /* 通过那个页面发出的请求*/
Accept-Language: zh-CN /*表示浏览器支持的语言*/
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) /* 产生请求的浏览器类型。*/
Accept-Encoding: gzip, deflate /*表示浏览器支持gzip、deflate两种压缩算法。*/
Host: www.hopedot.cn /*请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。*/
If-Modified-Since: Tue, 15 Nov 2011 11:29:14 GMT
If-None-Match: "2b513-3b2f-4b1c44c05d680"
Connection: Keep-Alive /*本次请求之后还有别的请求,建议服务器保持连接。*/
Cookie: AJSTAT_ok_pages=7; AJSTAT_ok_times=3 /*浏览器发送给服务器的Cookie*/
最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头。
HTTP响应报文:
HTTP/1.1 302 Found /*暂时转移,使用HTTP/1.1协议*/
Date: Tue, 15 Nov 2011 15:24:04 GMT /*服务器返回的响应报文的时间*/
Server: Apache /* 服务器类型*/
Location: http://www.hopedot.cn/404.html /*对于一个已经移动的资源,用于重定向请求者至另一个位置。*/
Keep-Alive: timeout=3, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1 /*返回内容的类型和使用的编码*/
Content-Length: 15151 /*响应内容的字节长度*/
HTTP状态码:
状态码 状态信息 含义
100 Continue 初始的请求已经接受,客户应当继续发送请求的其余总分。
200 OK 一切正常,对GET和POST请求的应答文档跟在后面。
202 Accepted 已经接受请求,但处理尚未完成。
301 Moved Permanently 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL。永久转移。
302 Found 类似于301,但是新的URL应该被视为临时性的替代,而不是永久性的。暂时转移。
400 Bad Request 请求出现语法错误。
401 Unauthorized 客户试图未经授权访问受密码保护的页面。
403 Forbidden 资源不可用。服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。
404 Not Found 无法找到指定位置的资源。这也是一个常用的应答。
500 Internal Server Error 服务器内部错误。
503 Service Unavailable 服务器由于维护或者负载过重未能应答。
HTTP是无状态的,不会记得上一次的请求,所以哪怕是同一个页面中的JS、CSS、JPG等都要重复的提交User-Agent、Accept、Accept-Language等。
页面中的内容并不是都在一个请求中完成的,而是每个资源一个请求。
作者: 许庭洲 时间: 2012-10-21 21:42
值得学习ing!
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |