1. HTTP1.0会话过程:
对于每一个页面的访问,浏览器与Web服务器建立一次单独的连接,浏览器与服务器之间所有的通讯都是完全独立分开的请求和响应对。
2. 代理机制:
对于浏览器来说,代理相当于服务器,对于服务器来说,代理相当于浏览器。
1. HTTP1.1对HTTP1.0的改进:
(1).在一个TCP连接上可以传送多个HTTP请求和响应。
(2).多个请求和响应过程可以重叠进行。HTTP1.1会话过程:
(3).增加了更多的请求头和响应头。
4. HTTP请求消息:
由一个请求行,若干消息头,以及实体内容组成。消息头和实体内容之间要用空行分隔。
注意:GET方式的请求消息中不能包含实体内容,只有使用POST、PUT、DELETE方式的请求消息中才可以包含实体内容。
5. HTTP响应消息:
由一个状态行,若干消息头,以及实体内容组成。消息头和实体内容之间也要使用空行分隔。
注意:简单的请求和响应消息不包含消息头,只能使用GET方式。
1. HTTP请求行:
格式:请求方式 资源路径 HTTP版本号 回车换行
例如:GET /test.html HTTP/1.1
请求方式有:POST、HEAD、OPTIONS、DELETE、TRACE、PUT、GET等。
2. HTTP状态行:
格式:HTTP版本号 状态码 原因叙述 回车换行
例如:HTTP/1.1 200 ok
3. 使用GET和POST请求方式传递参数:
(1).GET请求方式:
请求参数加在请求行中,一般在1K以下,在传递请求参数时,在浏览器的url地址后以”?”分隔GET的请求参数,参数之间使用”&”分隔。
(2).POST请求方式:
请求参数在请求消息的内容中,大小无限制。
4. HTTP响应状态码:
(1).100~199:
表示成功接收请求,要求客户端继续提交下一次请求才能完成处理。
(2).200~299:
表示成功接收请求,并已经完成处理。
(3).300~399:
为完成请求,客户端需要进一步细化请求。
(4).400~499:
客户端请求有错误。
(5).500~599:
服务器端发送错误。
5. HTTP通用信息头:
既能用于请求消息,也能用于响应消息,包括一些与被传输的实体内容没有关系的常用信息头字段。
(1).cache-control:no-cache:不缓存。
(2).connection:close:客户端与服务器端在返回处理之后是否保持连接。
(3).Date:Tue,11 Jul 2010 18:23:51 GMT:请求或响应时间。
(4).Pragma:no-cache:不缓存消息。
(5).Transfer-Encoding:chunked:编码方式(分段编码传输)。
(6).Via:HTTP/1.1 Proxy1,HTTP/1.1 Proxy2:指定途径的代理服务器。
11. 请求头:
用于客户端在请求消息中向服务器端传递附加消息。
(1).Accept:text/html,image/*:客户端可以接收的文本/图像类型。
(2).Accept-Charset:Unicode-1-1.ISO8859-1:客户端接受的字符编码方式。
(3).Accept-Encoding:gzip,compress:客户端支持的数据压缩格式。
(4).Accept-Language:en-gb,zh-cn:客户端支持的语言。
(5).Authorization:Basic enh4OJEYMZQING==(Base64编码):验证身份。
(6).Expect:100-continue:需要服务器进一步操作。
(7).Max-Forward:1:最大代理服务器数。
(8).Range:bytes=100-599:返回100到599个字符之间的内容。
(9).Refere:http://www.google.com:追踪请求的导航,常用于查看从什么地方进入,但是可以通过telnet来伪造。
(10).user-Agent:Mozilla/4.0:指定浏览器或客户端的类型。
12. 实体头:
用作实体内容的元信息。
(1).Allow:GET,POST:允许客户端请求方式。
(2).Content-Encoding:gzip:压缩编码方式。
(3).Content-Language:zh-cn:服务器返回的文档语言。
(4).Content-Length:80:实体内容大小。
(5).Content-Location:http://www.google.com:请求资源所在位置。
(6).Content-Range:bytes 2543-4532:返回指定部分内容。
(7).Content-Type:text/html;charset=GB2312:实体内容格式(MIME类型)。
13.扩展头:
在HTTP1.1规范中没有定义的头字段,被当做实体扩展头处理。
(1).Refresh:1:告诉浏览器每1秒刷新访问1次。
Refresh:1;url=http://www.google.com:过1秒,跳转到指定页面。
(2).Content-Type:application/octet-Stream
Content-Disposition:attachment;filename=aaa.zip:让用户将响应的内容保存在一个文件中。