一、概述
[color=darkblue][b]HTTP[/b][/color],超文本传输协议,应用层的协议,是基于请求/响应模式的、无状态的协议。客服端与服务端建立连接后,向服务器发送一个请求,服务器对这个请求进行处理,然后返回一个响应信息,之后双方的连接关闭(HTTP1.1版本支持持续连接,而且客服端可连续发送多个请求,不用等待每一个响应的到来)。
二、HTTP请求
客服端通过发送HTTP请求向服务器请求对资源的访问。HTTP请求由三部分构成,分别是:请求行,消息报头和请求正文。
1、请求行
请求行格式:Method Request-URI HTTP-VERSION CRLF
如:GET /form.html HTTP/1.1 (CRLF)
METHOD:[GET|POST|HEAD|PUT|DELETE|TRACE|CONNECT|OPTIONS]
GET:主要用于获取由Request-URI所标识的资源的信息。
POST:主要用于向目的服务器发出请求,要求服务器接受附在后面的数据。
HEAD:与GET方法几乎是相同的,区别在于HEAD方法只请求消息报头。
2、消息报头(略)
HTTP消息报头包括普通报头、请求报头、响应报头、实体报头。
每个报头域都是由名字+“:”+空格+值组成。
常用的普通报头:Cache-Control、Date、Connection、Pragrma等。
常用的请求报头:Accept、Accept-Charset、Accept-Encoding、Accept-language、Authorization、Host(指定被请求的Internet主机和端口号)、User-Agent等。
常用的响应报头:Location、Server、WWW-Authenticate等。
常用的实体报头:Content-Encoding、Content-Language、Content-Length、Content-Type、Expires、Last-Modified等。
3、请求正文
请求正文包含提交的数据,例如:user=sailor&pwd=1234
三、HTTP响应
在接收完和解释请求后,服务器会返回一个HTTP响应消息,响应也有三部分组成,分别是:状态行,消息报文和响应正文。
1、状态行
响应行格式:HTTP-Version Statuss-Code Reason-Phrase CRLF
如:HTTP/1.1 200 OK (CRLF)
Status-Code:表示服务器发回的响应代码。
Reason-Phrase:表示状态代码的文本描述。
状态代码由三位数字组成,状态代码的第一位数字定义了响应的类别,第一位数有5种取值。
> 1xx:提示信息
> 2xx:成功
> 3xx:重定向
> 4xx:客服端错误
> 5xx:服务器端错误
2、消息报头(略)
3、响应正文
响应正文就是服务器返回的资源(也即网页的源代码)。
[color=darkblue][b]HTTP[/b][/color],超文本传输协议,应用层的协议,是基于请求/响应模式的、无状态的协议。客服端与服务端建立连接后,向服务器发送一个请求,服务器对这个请求进行处理,然后返回一个响应信息,之后双方的连接关闭(HTTP1.1版本支持持续连接,而且客服端可连续发送多个请求,不用等待每一个响应的到来)。
二、HTTP请求
客服端通过发送HTTP请求向服务器请求对资源的访问。HTTP请求由三部分构成,分别是:请求行,消息报头和请求正文。
1、请求行
请求行格式:Method Request-URI HTTP-VERSION CRLF
如:GET /form.html HTTP/1.1 (CRLF)
METHOD:[GET|POST|HEAD|PUT|DELETE|TRACE|CONNECT|OPTIONS]
GET:主要用于获取由Request-URI所标识的资源的信息。
POST:主要用于向目的服务器发出请求,要求服务器接受附在后面的数据。
HEAD:与GET方法几乎是相同的,区别在于HEAD方法只请求消息报头。
2、消息报头(略)
HTTP消息报头包括普通报头、请求报头、响应报头、实体报头。
每个报头域都是由名字+“:”+空格+值组成。
常用的普通报头:Cache-Control、Date、Connection、Pragrma等。
常用的请求报头:Accept、Accept-Charset、Accept-Encoding、Accept-language、Authorization、Host(指定被请求的Internet主机和端口号)、User-Agent等。
常用的响应报头:Location、Server、WWW-Authenticate等。
常用的实体报头:Content-Encoding、Content-Language、Content-Length、Content-Type、Expires、Last-Modified等。
3、请求正文
请求正文包含提交的数据,例如:user=sailor&pwd=1234
三、HTTP响应
在接收完和解释请求后,服务器会返回一个HTTP响应消息,响应也有三部分组成,分别是:状态行,消息报文和响应正文。
1、状态行
响应行格式:HTTP-Version Statuss-Code Reason-Phrase CRLF
如:HTTP/1.1 200 OK (CRLF)
Status-Code:表示服务器发回的响应代码。
Reason-Phrase:表示状态代码的文本描述。
状态代码由三位数字组成,状态代码的第一位数字定义了响应的类别,第一位数有5种取值。
> 1xx:提示信息
> 2xx:成功
> 3xx:重定向
> 4xx:客服端错误
> 5xx:服务器端错误
2、消息报头(略)
3、响应正文
响应正文就是服务器返回的资源(也即网页的源代码)。