HTTP协议:超文本传输协议
HTTP协议是什么?
HTTP协议,即超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在 TCP 之上。它指定了客户端发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以 ASCII 形式给出,消息内容则使用类似 MIME 的格式。
万维网 WWW(World Wide Web)发源于欧洲日内瓦量子物理实验室 CERN。WWW 技术的出现,使得因特网得以超乎想象的速度迅猛发展。
这项基于 TCP/IP 的技术,在短短的十年时间内迅速成为已经发展了几十年的 Internet 上的规模最大的信息系统,它的成功归结于它的简单实用。
在 WWW 的背后,有一系列的协议和标准支持它完成工作,这就是 Web 协议族,其中就包括 HTTP 超文本传输协议。
在1990年,HTTP 就成为 WWW 的支撑协议。当时由其创始人 WWW 之父蒂姆·贝纳斯·李(Tim Berners-Lee)提出,随后 WWW 联盟(WWW Consortium)成立,组织了IETF(Internet Engineering Task Force)小组进一步完善和发布 HTTP。
HTTP 是应用层协议,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一个运行在用户空间的应用程序来实现其功能。
HTTP 是一种协议规范,这种规范记录在文档上,由通过 HTTP 进行通信的 HTTP的程序来实现。
HTTP 是基于 B/S 架构进行通信的,而 HTTP 的服务器端的实现程序有 Apache、Nginx、IIS 等,客户端的实现程序主要是 Web 浏览器,例如:Google Chrome、Internet Explorer、Safari、Firefox、Opera等。此外,客户端的命令行工具还有 elink、curl 等。
Web 服务是基于 TCP 的,因此为了能够随时响应客户端的请求,Web 服务器需要监听在 80/TCP 端口。这样客户端浏览器和 Web 服务器之间就可以通过 HTTP 进行通信。