- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HTTP消息概要1
HTTP消息
1 消息类型
HTTP消息由客户端到服务器的请求消息和服务器到客户端的响应消息组成。请求消息和响应消息都是由开始行(对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行),消息报头(可选),空行(只有CRLF的行),消息正文(可选)组成。
2 请求消息
Request 消息分为4部分:
1、 请求行(Request-Line)
2、 消息报头(Header)
3、 CRLF
4、 请求正文(Entity-Body)
结构如下所示:
2.1 请求行
第一行中的Method表示请求方法,比如POST,GET,Path-to-resoure表示请求的资源, Http/version-number 表示HTTP协议的版本号。
请求方法(所有方法全为大写)有多种,各个方法的解释如下:
名字 内容 GET 请求获取Request-URI所标识的资源 POST 在Request-URI所标识的资源后附加新的数据 HEAD 请求获取由Request-URI所标识的资源的响应消息报头 PUT 请求服务器存储一个资源,并用Request-URI作为其标识 DELETE 请求服务器删除Request-URI所标识的资源 TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断 CONNECT 保留将来使用 OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求
2.2 请求报头
请求头域允许客户端传递请求的附加信息和客户端自己的附加信息给服务器。这些头域作为请求的修饰,这和程序语言方法调用的参数语义是等价的。
请求头(request-header)=
Accept
|Accept-Charset
|Accept-Encoding
|Accept-Language
|Authorization
|Expect
|From
|Host
|If-Match
|If-Modified-Since
|If-None-Match
|If-Range
|If-Unmodified-Since
|Max-Forwards
|Proxy-Authorization
|Range
|Referer
|TE
|User-Agent
请求头域的名字是能被扩展,但只能随协议版本改变而被扩展。然而新的或实践性的头域可以给定请求头域语义,如果所有通信方都把它看作请求头域。不能识别的头域会被看作实体头域(entity-header)。
2.3 应用举例
3 响应消息
HTTP Response消息的结构和Request消息的结构基本一样。 同样也分为三部分。
1、 状态行(Request line)
2、 消息报头(request header)
3、 CRLF
4、 响应正文(body)
结构如下图:
3.1 状态行
状态行格式如下:HTTP-Version Status-Code Reason-Phrase CRLF其中,HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。
Status-Code元素是一个试图理解和满足请求的三位数字整数码。原因短语(Reason-Phrase)是为了给出关于状态码的简单的文本描述。状态码用于控制,而原因短语(Reason-Phrase)是让用户便于阅读。客户端不需要检查和显示原因短语。
状态码的第一位数字定义响应类别。后两位数字没有任何分类角色。第一位数字有五种值:
-1xx :报告的,请求被接收到,继续处理。
-2xx :成功,被成功地接收(received),理解(understood),接受(accepted)的动作 。
-3xx :重发 ,为了完成请求必须采取进一步的动作。
-4xx :客户端出错 ,请求包括错的语法或不能被满足。
-5xx :服务器出错,-服务器无法完成显然有效的请求。
常见的状态码:
状态码 状态描述 说明 200 OK 客户端请求成功 400 Bad Request 客户端请求有语法错误,不能被服务器所理解 401 Unauthorized 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 403 Forbidden 服务器收到请求,但是拒绝提供服务 404 Not Found 没有发现文件、查询或URl 500 Internal Server Error 内部服务器错误 503 Server Unavailable 服务器当前不能处理客户端的请求,一段时间后可能恢复正常
3.2 响应报头
响应头域允
文档评论(0)