http1.0:浏览器到服务器之间的所有通信都是完全独立分开的请求响应对,每次连接只处理一个请求和响应,响应结束则关闭连接。
http1.1: 在一个tcp连接上可以传送多个http请求和响应,而且请求和响应过程可以重叠进行,增加了更多的请求头和响应头。
http请求消息的结构:
一个请求行、若干消息头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。
举例:
请求行
GET /books/java.html HTTP/1.1
消息头
Accept: */*
Accept-Language: en-us
Connection: Keep-Alive
Host: localhost
Referer: http://localhost/links.asp
User-Agent: Mozilla/4.0
Accept-Encoding: gzip, deflate
空行
实体内容
http响应消息的结构:
一个状态行、若干消息头、以及实体内容 ,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。
举例
请求行
l
格式:请求方式 资源路径 HTTP版本号<CRLF>
举例:GET /test.html HTTP/1.1
请求方式:POST、HEAD、OPTIONS、DELETE、TRACE、PUT
l
状态行
举例:HTTP/1.1 200 OK
l
l
GET方式
举例:
GET /servlet/ParamsServlet?param1=abc¶m2=xyz HTTP/1.1
特点:
传送的数据量是有限制的,一般限制在
1KB
以下。
l
POST方式
举例:
POST /servlet/ParamsServlet HTTP/1.1
Host:
Content-Type: application/x-www-form-urlencoded
Content-Length: 28
param1=abc¶m2=xyz
特点:
传送的数据量要比
GET
方式传送的数据量大得多
。
在URL地址后面可以附加一些参数
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Thu, 13 Jul 2000 05:46:53 GMT
Content-Length: 2291
Content-Type: text/html
Cache-control: private
<HTML>
<BODY>
……
消息头
可以实现HTTP客户机与服务器之间的条件请求和应答,消息头相当于服务器和浏览器之间的一些暗号指令。