当用户在浏览器中输入一个基于HTTP协议的URL时(以http://开头的URL),就相当于通知器按着这个URL组织生成一个HTTP请求,并交过个请求发送到服务器;同时,等待服务器的响应。无论是请求还是响应,都统称为HTTP消息。
HTTP协议分为两部分:
1. HTTP请求消息。
2. HTTP响应消息。
一、HTTP请求消息
HTTP请求消息分为请求消息头以及请求实体内容两部分。请求消息头的第一行必须由以下三部分组成:
请求的方法(GET、POST和HEAD等)。
Web资源的路径(http://www.website.com/test/test.html中的/test/test.html
部分)。
HTTP协议的版本(HTTP/1.0或HTTP/1.1)。
在请求消息头的其他行是请求头字段。每一行的格式是:
"头字段" ":" "头字段的值"
请求头以一个空行结束。如下面上一个GET请求的例子:
GET / HTTP/
1.1
Host: www.csdn.net
Connection: Keep-Alive
Accept: */*
如果是POST请求,将要提交的实体内容放到消息头的空行后面,如下面是一个POST请求的例子:
POST /servlets-examples/servlet/RequestParamExample HTTP/
1.1
Host: localhost:
8888
Content-Length:
29
Connection: Close
firstname
=
Bill&lastname
=
Gates
在上面的请求消息中Content-Length表示请求内容的以字节为单位的长度(" firstname=Bill&lastname=Gates"的长度)。在使用POST方法时,这个字段必须提供,而且长度必须等于实体内容的长度,否则服务器将返回一个错误状态码。