HTTP协议详解

来源:互联网 发布:镜子软件手机版 编辑:程序博客网 时间:2024/05/19 04:55

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:让用户将响应的内容保存在一个文件中。

0 0
原创粉丝点击