HTTP协议
WWW
www是目前为止最著名的分布式应用,中文名为万维网,常简称为Web。起源于1990年底,最早有欧洲核物理研究中心的
Tim Berners-Lee提出,其目的是为研究中心分布在世界各地的科学家提供一个共享信息的平台。
从应用功能上看,www是一种交互式图形界面的Internet服务,具有强大的信息连接功能,它使得成千上万的用户通过简单的图形界面就可以访问各个大学、组织、公司等的最新信息和各种服务。
从技术上看,www是一个基于HTTP的客户/服务器应用系统,即属于客户/服务器范型的分布式计算应用。其中,www服务器负责以web页面方式存储信息资源并响应客户请求,www浏览器负责接受用户命令、发送请求信息、解释服务器的响应。
TCP/IP
TCP/IP是internet最基本的协议和internet国际互联网络的基础。TCP/IP是指整个TCP/IP协议族。由四个层次组成:网络接口层、网络层、传输层、应用层。各层协议如下图,其中,HTTP是应用层最重要的协议之一。
应用层 | Telnet、FTP、SMTP、DNS、HTTP以及其他应用协议 |
---|---|
传输层 | TCP、UDP |
网络层 | IP、ARP、RARP、ICMP |
网络接口层 | 各种通信网络接口(以太网等)(物理网络) |
HTTP工作原理
HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。下图表明了这种请求/响应模型。
以下是HTTP请求/响应的步骤:
(1)客户端连接到Web服务器
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。
(2)发送HTTP请求
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。
(3)服务器接受请求并返回HTTP响应
Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。
(4)释放连接TCP连接
Web服务器主动关闭TCP套接字,释放TCP连接;客户端被动关闭TCP套接字,释放TCP连接。
(5)客户端浏览器解析HTML内容
客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。