http协议533639235

上传人:xzh****18 文档编号:34728569 上传时间:2018-02-28 格式:DOCX 页数:15 大小:74.23KB
返回 下载 相关 举报
http协议533639235_第1页
第1页 / 共15页
http协议533639235_第2页
第2页 / 共15页
http协议533639235_第3页
第3页 / 共15页
http协议533639235_第4页
第4页 / 共15页
http协议533639235_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《http协议533639235》由会员分享,可在线阅读,更多相关《http协议533639235(15页珍藏版)》请在金锄头文库上搜索。

1、协议功能HTTP 是超文本传输协议,是客户端浏览器或其他程序与 Web 服务器之 间的应用层通信协议。在 Internet 上的 Web 服务器上存放的都是超文本信 息,客户机需要通过 HTTP 协议传输所要访问的超文本信息。 HTTP 包含命 令和传输信息,不仅可用于 Web 访问,也可以用于其他因特网 /内联网应用 系统之间的通信,从而实现各类应用资源超媒体访问的集成。 当我们想浏览一个网站的时候,只要在浏览器的地址栏里输入网站的地 址就可以了,例如 www.*.com,但是在浏览器的地址栏里面出现的却是: http:/www.*,你知道为什么会多出一个 “http”吗? 我们在浏览器的地

2、址栏里输入的网站地址叫做 URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一 样,每个网页也都有一个 Internet 地址。当你在 http 功用 浏览器的地址框中输入一个 URL 或是单击一个超级链接时, URL 就确定了 要浏览的地址。浏览器通过超文本传输协议 (HTTP),将 Web 服务器上站点 的网页代码提取出来,并翻译成漂亮的网页。因此,在我们认识 HTTP 之前, 有必要先弄清楚 URL的组成,例如: http:/www.*.com/china/index.htm。它的含义如下: 1. http:/:代表超文本转移协议,

3、通知 *.com 服务器显示 Web 页, 通常不用输入; 2. www:代表一个 Web(万维网)服务器; 3. *.com/:这是装有网页的服务器的域名,或站点服务器的名称; 4. China/:为该服务器上的子目录,就好像我们的文件夹; 5. Index.htm:index.htm 是文件夹中的一个 HTML 文件(网页)。 我们知道,Internet 的基本协议是 TCP/IP 协议,然而在 TCP/IP 模型 最上层的是应用层( Application layer),它包含所有高层的协议。高层 协议有:文件传输协议 FTP、电子邮件传输协议 SMTP、域名系统服务 DNS、网络新闻传

4、输协议 NNTP 和 HTTP 协议等。 HTTP 协议(HyperText Transfer Protocol,超文本传输协议)是用于 从 WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还 确定传输文档中的哪一部分,以及哪部分内容首先显示 (如文本先于图形) 等。这就是你为什么在浏览器中看到的网页地址都是以 http:/开头的原 因。 自 WWW 诞生以来,一个多姿多彩的资讯和虚拟的世界便出现在我们眼前, 可是我们怎么能够更加容易地找到我们需要的资讯呢?当决定使用超文本作 为 WWW文档的标准格式后,于是在 1

5、990 年,科学家们立即制定了能够快速 查找这些超文本文档的协议,即 HTTP 协议。经过几年的使用与发展,得到 不断的完善和扩展,目前在 WWW 中使用的是 HTTP/1.0 的第六版。 编辑本段协议基础HTTP(HyperText Transfer Protocol)是超文本传输协议的缩写,它 用于传送 WWW方式的数据,关于 HTTP 协议的详细内容请参考 RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求, 请求头包含请求的方法、 URL、协议版本、以及包含请求修饰符、客户信息 和内容的类似于 MIME 的消息结构。服务器以一个状态行作为响应,响应的 内容包括

6、消息协议的版本,成功或者错误编码加上包含服务器信息、实体元 信息以及可能的实体内容。 通常 HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响 应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个指示头 域结束的空行和可选的消息体组成。 HTTP 的头域包括通用头,请求头,响 应头和实体头四个部分。每个头域由一个域名,冒号( :)和域值三部分组 成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被 扩展为多行,在每行开始处,使用至少一个空格或制表符。 通用头域通用头域包含请求和响应消息都支持的头域,通用头域包含 Cache- Control、Connection

7、、Date、Pragma、Transfer- Encoding、Upgrade、Via。对通用头域的扩展要求通讯双方都支持此扩展, 如果存在不支持的通用头域,一般将会作为实体头域处理。下面简单介绍几 个在 UPnP 消息中使用的通用头域。 Cache-Control 头域Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消 息中设置 Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。 请求时的缓存指令包括 no-cache、no-store、max-age、max-stale、min- fresh、only-if-cached,响应消息中的指令包括

8、public、private、no- cache、no-store、no-transform、must-revalidate、proxy- revalidate、max-age。各个消息中的指令含义如下: Public指示响应可被任何缓存区缓存。 Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处 理。这允许服务器仅仅描述当用户 http 结构 的部分响应消息,此响应消息对于其他用户的请求无效。 no-cache指示请求或响应消息不能缓存 no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得 请求和响应消息都不使用缓存。 max-age指示客户机可以接收生存

9、期不大于指定时间(以秒为单位)的 响应。 min-fresh 指示客户机可以接收响应时间小于当前时间加上指定时间的 响应。 max-stale 指示客户机可以接收超出超时期间的响应消息。如果指定 max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消 息。 HTTP Keep-AliveKeep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器 的后继请求时,Keep-Alive 功能避免了建立或者重新建立连接。市场上的 大部分 Web 服务器,包括 iPlanet、IIS 和 Apache,都支持 HTTP Keep- Alive。对于提供静态内容的网站来说

10、,这个功能通常很有用。但是,对于 负担较重的网站来说,这里存在另外一个问题:虽然为客户保留打开的连接 有一定的好处,但它同样影响了性能,因为在处理暂停期间,本来可以释放 的资源仍旧被占用。当 Web 服务器和应用服务器在同一台机器上运行时, Keep- Alive 功能对资源利用的影响尤其突出。 KeepAliveTime 值控制 TCP/IP 尝试验证空闲连接是否完好的频率。 如果这段时间内没有活动,则会发送保持活动信号。如果网络工作正常,而 且接收方是活动的,它就会响应。如果需要对丢失接收方敏感,换句话说, 需要更快地发现丢失了接收方,请考虑减小这个值。如果长期不活动的空闲 连接出现次数较

11、多,而丢失接收方的情况出现较少,您可能会要提高该值以 减少开销。缺省情况下,如果空闲连接 7200000 毫秒(2 小时)内没有活 动,Windows 就发送保持活动的消息。通常, 1800000 毫秒是首选值,从而一半的已关闭连接会在 30 分钟内被检测到。 KeepAliveInterval 值 定义了如果未从接收方收到保持活动消息的响应, TCP/IP 重复发送保持活 动信号的频率。当连续发送保持活动信号、但未收到响应的次数超出 TcpMaxDataRetransmissions 的值时,会放弃该连接。如果期望较长的响应 时间,您可能需要提高该值以减少开销。如果需要减少花在验证接收方是否

12、 已丢失上的时间,请考虑减小该值或 TcpMaxDataRetransmissions 值。 缺省情况下,在未收到响应而重新发送保持活动的消息之前, Windows 会 等待 1000 毫秒(1 秒)。 KeepAliveTime 根据你的需要设置就行,比如 10分钟,注意要转换成 MS。 XXX 代表这个间隔值得大小。 Date 头域Date 头域表示消息发送的时间,时间的描述格式由 rfc822 定义。例 如,Date:Mon,31Dec200104:25:57GMT。Date 描述的时间表示世界标准时, 换算成本地时间,需要知道用户所在的时区。 Pragma 头域Pragma头域用来包含

13、实现特定的指令,最常用的是 Pragma:no- cache。在 HTTP/1.1协议中,它的含义和 Cache-Control:no-cache 相同。 请求消息请求消息的第一行为下面的格式: MethodSPRequest-URISPHTTP-VersionCRLFMethod 表示对于 Request- URI完成的方法,这个字段是大小写敏感的,包括 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE。方法 GET 和 HEAD 应该 被所有的通用 WEB服务器支持,其他所有方法的实现是可选的。 GET 方法 取回由 Request-URI标识的信息。HEAD

14、方法也是取回由 Request-URI 标识 的信息,只是可以在响应时,不返回消息体。 POST 方法可以请求服务器接 收包含在请求中的实体信息,可以用于提交 表单,向新闻组、BBS、邮件群 组和数据库发送消息。 SP 表示空格。Request-URI 遵循 URI 格式,在此字段为星号( *)时, 说明请求并不用于某个特定的资源地址,而是用于服务器本身。 HTTP- Version 表示支持的 HTTP 版本,例如为 HTTP/1.1。CRLF 表示换行回车符。 请求头域允许客户端向服务器传递关于请求或者关于客户机的附加信 http 架构 息。请求头域可能包含下列字段 Accept、Acce

15、pt-Charset、Accept- Encoding、Accept-Language、Authorization、From、Host、If- Modified-Since、If-Match、If-None-Match、If-Range、If-Range、If- Unmodified-Since、Max-Forwards、Proxy- Authorization、Range、Referer、User-Agent。对请求头域的扩展要求通 讯双方都支持,如果存在不支持的请求头域,一般将会作为实体头域处理。 典型的请求消息: Host: download.*.de Accept: */* Pragm

16、a: no-cache Cache-Control: no-cache User-Agent: Mozilla/4.04en(Win95;I;Nav) Range: bytes=554554- 上例第一行表示 HTTP 客户端(可能是浏览器、下载程序)通过 GET 方 法获得指定 URL 下的文件。棕色的部分表示请求头域的信息,绿色的部分表 示通用头部分。 Host 头域Host 头域指定请求资源的 Intenet 主机和端口号,必须表示请求 url 的原始服务器或网关的位置。 HTTP/1.1 请求必须包含主机头域,否则系统 会以 400状态码返回。 Referer 头域Referer头域允许客户端指定请求 uri 的源资源地址,这可以允许服务 器生成回退链表,可用来登陆、优化 cache 等。他也允许废除的或错误的 连接由于维护的目的被追踪。如果请求的 uri 没有自己的 uri 地址, Referer 不能被发送。如果指定的是部分 uri 地址,则此地址应该是一个 相对地址。 R

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业合同/协议

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号