logo  

跟我一起读RFC

跟我一起读RFC
作者: 陈安廉

摘要:软件开发进阶系列


1.1 目的


2020-12-01 13:42:43



超文本传输协议(HTTP)是一种为分布式的,协作的,超媒体信息系统,它是面向应用层的协议。在 1990 年 WWW 全球信息刚刚起步的时候 HTTP 就得到了应用。HTTP 的第一个版本叫做HTTP/0.9,是一种为互联网原始数据传输服务的简单协议。由 RFC 1945[6]定义的 HTTP/1.0 进一

步完善了这个协议。它允许消息以类 MIME 消息的格式传送,它包括传输数据的元信息和对请求/响应语义的修饰。但是,HTTP/1.0 没有充分考虑到分层代理,缓存的,以及持久连接和虚拟主机的需求的影响。并且随着不完善的 HTTP/1.0 应用程序的激增,这就迫切需要一个新的版本,

以便能使两个通信程序能够确定彼此的真实能力。

此规范定义的协议叫做“HTTP/1.1”,.这个协议与 HTTP/1.0 相比,此规范更为严格,以确保各个协议的特征得到可靠实现。

实际的信息系统除了简单的获取信息之外,还要求更多的功能,包括查找(search),终端更新(front-end update)和注解(annotation)。HTTP 为请求提供可扩充方法集和消息头集[47]。HTTP 是建立在统一资源标识符(URI)[3]的约束上的,作为一个地址(URL)[4]或名称

(URN)[20],以指定被一个方法使用的资源。消息以一种类似于互联网邮件[9]消息格式来传输的,互联网消息格式定义于多目的互联网邮件扩展(MIME)[7]里。

HTTP 也是用于用户代理(user agents)和其它互联网系统的代理/网关之间通信的通信协议,这些互联网系统可能由 SMTP[16],NNTP[13],FTP[18],Gopher[2]和 WAIS[10]协议支持。通过这种方式,HTTP 允许不同的应用程序对资源进行基本的超媒体访问。