HTTP操作称为事务,它的工作过程可分为四步:
第一,需要客户和服务器建立连接。只要点击一个超链接,HTTP就可以开始工作。
在连接建立之后,客户机以统一资源标识符(URL)和协议版本号的格式发送请求给服务器,随后是MIME信息,包括请求修饰符、客户机信息和可能的内容。
收到请求后,服务器以状态行的形式提供相应的响应信息,其中包括协议版本号、该信息的成功或错误代码,然后是MIME信息,其中包含服务器信息、实体信息和可能的内容。
客户机接受服务器返回的信息,通过浏览器显示在用户界面,然后客户机与服务器断开连接。
若上述过程中某一步发生错误,则向客户机返回错误信息,并输出到显示器。对用户而言,这些过程由HTTP自己来完成。使用者只要用鼠标点击,等待信息显示。
很多HTTP通信都是由用户代理发起的,包括请求源服务器上的资源。简单地说,就是在用户代理和服务器之间建立一个单独的连接。网络中的HTTP通信通常是通过TCP/IP连接实现的。TCP80是默认端口,但是其他端口也可用。但是,这并不意味着HTTP协议可以在Internet或其它网络的其它协议上实现。HTTP只代表可靠的传输。
这一流程就像给我们打电话下订单。我们可以给商家打电话,告诉他我们需要什么规格,然后商家就会告诉我们有哪些货物,哪些货物缺货。在这些方面,我们通过电话联系(HTTP通过TCP/IP),当然也可以通过传真联系,只要商家这边有传真即可。
以上是对HTTP协议宏操作模式的简单介绍,以下是HTTP协议的内部操作流程。
对于WWW,“客户机”和“服务器”都是相对的概念,只存在于特定的连接期,也就是一个连接中的客户机可以作为另一个服务器进行连接。在HTTP协议的基础上实现的客户端/服务器模式的信息交换过程包括建立连接、发送请求信息、发送响应信息、关闭连接等。和上面的例子一样,电话订货的整个过程也是如此。
事实上,除了HTML文件外,任何服务器都有一个HTTP常驻程序,它响应用户的请求。浏览器是一个HTTP客户端,它将请求发送到服务器。如果浏览器输入了一个开始文件,或者点击了一个超链接,浏览器就会向服务器发送一个HTTP请求,请求被发送到IP地址指定的URL。驻留程序接收请求,并在必要操作完成后返回所需文件。该流程将网络上收发的数据分为若干个包,每一个包包括:要传送的数据;控制信息;告诉网络如何处理这些信息包。TCP/IP为每个包确定了格式。假如我没有事先告诉你的话,你可能不知道,这些信息会被分割成许多小部分。
这就是说,除了拥有商品之外,还有一名雇员接你的电话。在您打电话时,您的声音转化为各种复杂的数据,通过电话线传送到对方的电话上,对方的电话将各种复杂的数据转化为声音,以便对方商家的雇员能够理解您的请求。这一过程中,您无需了解声音如何被转换为复杂数据。