超文本传输协议

超文本传输协议

维基百科,自由的百科全书

(重定向自 HTTP)

超文本传输协议(HTTPHyperText Transfer Protocol)是互联网上应用最为广泛的一种网络传输协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

目录

[隐藏]

<script type="text/javascript"> //&lt;![CDATA[ if (window.showTocToggle) { var tocShowText = "显示"; var tocHideText = "隐藏"; showTocToggle(); } //]]&gt; </script>

[ 编辑]

概述

HTTP的发展是万维网协会和Internet工作小组合作的结果,在一系列的RFC发布中确定了最终版本,其中最著名的是RFC 2616。在RFC 2616中定义了HTTP/1.1这个今天普遍使用的版本。

HTTP是一个用于在客户端和服务器间请求和应答的协议。一个HTTP的客户端,诸如一个web浏览器,通过建立一个到远程主机特殊端口(默认端口为80)的连接,初始化一个请求。一个HTTP服务器通过监听特殊端口等待客户端发送一个请求序列, 就像“GET / HTTP/1.1”(用来请求网页服务器的默认页面),有选择的接收像email一样的MIME消息,此消息中包含了大量用来描述请求各个方面的信息头序列,响应一个选择的保留数据主体。接收到一个请求序列后(如果要的话,还有消息),服务器会发回一个应答消息,诸如“200 OK”,同时发回一个它自己的消息,此消息的主体可能是被请求的文件、错误消息或者其他的一些信息。

HTTP不同于其他基于TCP的协议,诸如FTP。在HTTP中,一旦一个特殊的请求(或者请求的相关序列)完成,连接通常被中断。这个设计使得对于当前页面有规则连接到另一台服务器页面的万维网来说,HTTP是完美的。当持久连接的缺乏成为保持用户状态的必需选择的方法时,对网页设计者来说,会偶然产生一些问题。而大部分这些方法包括了对“cookies”的使用。

这里有一个HTTP的安全版本称为HTTPS,HTTPS支持任何的加密算法,只要此加密算法能被页面双方所理解。

HTTP(和HTTPS)由唯一资源定位器或者简称URLs定位。创造这种地址定位的语法为了HTML的链接。

[ 编辑]

Sample


下面是一个HTTP客户端与服务器之间会话的例子,运行于www.google.com,端口80

客户端请求:

GET / HTTP/1.1
Host:www.google.com


(紧跟着一个换行,通过敲入回车实现)

服务器应答:

HTTP/1.1 200 OK
Content-Length: 3059
Server: GWS/2.0
Date: Sat, 11 Jan 2003 02:44:04 GMT
Content-Type: text/html
Cache-control: private
Set-Cookie: PREF=ID=73d4aef52e57bae9:TM=1042253044:LM=1042253044:S=SMCc_HRPCQiqy
X9j; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com
Connection: keep-alive


(紧跟着一个空行,并且由HTML格式的文本组成了Google的主页)

在HTTP1.0中,客户端发送一个请求至服务器,服务器发送一个应答至客户端。之后,连接将被释放。另一方面,HTTP1.1支持持久连接。这使得客户端可以发送请求并且接收应答,然后迅速的发送另一个请求和接收另一个应答。因为多个额外的请求,TCP连接并没有被释放,而每个请求中关于TCP的负载相对较少。同时,在得到上一个请求的应答之前发送多个请求(通常是两个)也成为可能。这个技术被称为“流水线”。

[ 编辑]

参考

[ 编辑]

外部链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值