备注:在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是由TCP来完成的,该协议与IP协议共建Internet,即著名的TCP/IP协议族,因此Internet又被称为TCP/IP网络。
HTTP是比TCP更高层次的应用协议,根据规则,只有低层协议建立之后才能进行更高层协议的连接。因此首先要建立TCP连接,一般TCP连接的端口号是80
计算机和网络设备要相互通信,双方就必须约定标准的通信规则 ,例如由哪一端担任通信发起方、使用何种语言进行通信、如何结束通信等规则都需要事先进行确定。我们通常把这些规则称为协议。
TCP/IP是互联网相关的各类协议族(集合)的总称。
如果互联网只由一个巨大的协议统筹,那么当某个地方需要改变设计时,需要对协议中所有部分进行整体替换。分层之后,由于层间的接口都已经设计好了,因此只需要对要改动部分所在层进行内部的设计调整即可。同时,层次化也使得层功能固定, 每个网络层各司其职 ,协同工作,完成网络通信。
TCP/IP协议族按照层次分别可以分成如下4层:
以HTTP举例说明,浏览器(客户端)在应用层发出一个HTTP请求(请求html页面),应用层将HTTP请求报文向下移交传输层,为了传输方便,传输层对收到的HTTP请求报文进行了分割,并增加一个TCP首部(主要包括报文标记序号+源、目端口号),封装好后移交网络层,网络层进行路由查找,添加上IP首部(主要包括报文标识以及源目IP地址),封装好后移交数据链路层。然后数据通过数据链路层进行物理传输。接收端的服务器在链路层接收到数据后,按序向上层发送,直到将数据传输到接收端的应用层,才算真正接收到了客户端发过来的HTTP请求。
HTTP协议是对客户端和服务器端之间实现 可靠性的传输 文字、图片、音频、视频等 超文本数据 的规范,格式简称为“超文本传输协议”。两台计算机之间使用HTTP协议进行通信时,在一条通信线路上必定有一端是客户端,另一端是服务端。HTTP协议通过请求和响应的交换达成通信。
HTTP请求响应过程
someDepartment/home.index
指定了请求的资源。home.index
相关的所有资源,然后将它封装到HTTP响应报文中,通过Socket发给客户端。下图详细地阐述了使用HTTP协议进行通信的整个过程:
原文:https://www.cnblogs.com/hls-code/p/14971380.html