ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
HTTP是基于客户/服务器模式,且面向连接的。 一个典型的HTTP事务处理有如下的过程: (1)地址解析:如http://localhost.com:8080/index.htm          从请求URL中分解出协议名、主机名、端口、对象路径等部分,对于我们的这个地址,解析得到的结果如下:           协议名:http           主机名:localhost.com           端口:8080           对象路径:/index.htm           在这一步,需要域名系统DNS解析域名localhost.com得主机的IP地址。 (2)封装HTTP请求数据包           把以上部分结合本机自己的信息,封装成一个HTTP请求数据包 (3)封装成TCP包,建立TCP连接(TCP的三次握手)           在HTTP工作开始之前,客户机(Web浏览器)首先要通过网络与服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80。 (4)客户端发送请求命令           建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可内容 (5)服务器响应           服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。 (6)服务器关闭TCP连接            一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码 Connection:keep-alive           TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。 ***** 客户端请求封装流程:          客户机会将请求封装成http数据包-->封装成Tcp数据包-->封装成Ip数据包--->封装成数据帧--->硬件将帧数据转换成bit流(二进制数据)-->最后通过物理硬件(网卡芯片)发送到指定地点。          服务器硬件首先收到bit流数据后-->转换成ip数据包-->通过ip协议解析Ip数据包得到tcp数据包-->通过tcp协议解析Tcp数据包得到http数据包-->通过http协议再解析http数据包得到数据。