HTTP建立连接的过程

时间:2021-08-09
本文章向大家介绍HTTP建立连接的过程,主要包括HTTP建立连接的过程使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1、获取IP。浏览器地址栏中输入"http://www.xxx.edu.cn/"并提交之后,首先它会在DNS本地缓存表中查找,如果有则直接告诉IP地址。如果没有则要求网关DNS进行查找,如此下去,当找到对应的ip后,则返回给浏览器。

2、建立TCP连接。当获取到IP之后,就开始与所请求的服务器建立TCP连接,你可以在下图中发现syn,ack,这些标识符就是用来同步用的。

3、连接建立后,就向服务器发出http请求(大家可以从图中看出来)。如果是HTTP1.0的版本则,每一次请求结束后,就释放TCP连接。

HTTP 的连接方式

HTTP 的连接方式是指 连接的持续性,它分为:短连接和长连接。

短连接

      顾名思义,浏览器和服务器没进行一次HTTP操作,就建立一次连接,但是任务结束就中断连接。在HTTP/1.0中,默认使用的是短连接。如:浏览器访问某个HTML或者其他类型的Web页中包含有其他的web资源,如JavaScript,图像文件,CSS文件等;当浏览器遇到这样的web资源,就会建立一个HTTP会话。

长连接

    同样的意思,在客户端与浏览器建立了连接后,会保持这个连接的状态。在HTTP/1.1中,默认的是长连接。使用长连接的HTTP协议,会在响应头有如下的代码:

     Connection:keep-alive

    当使用了长连接的时候,客户端一旦建立了连接,第二次建立连接的时候就直接使用已经建立的通道。但是keep-alive并不是永久的保持,可以在不同的服务器软件设置这个时间。

HTTP 的长连接短连接,其实是TCP的长连接和短连接。

TCP 长连接短连接的过程

    长连接:

           建立连接----传输数据---(保持连接)--传输数据-- 关闭连接

    短连接

          建立连接--- 传输数据----关闭连接........建立连接---传输数据----关闭连接

数据库的连接用长连接, 如果用短连接频繁的通信会造成socket错误,而且频繁的socket 创建也是对资源的浪费

WEB网站的http服务一般都用短链接,因为长连接对于服务端来说会耗费一定的资源,而像WEB网站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源,如果用长连接,而且同时有成千上万的用户,如果每个用户都占用一个连接的话,那可想而知吧。所以并发量大,但每个用户无需频繁操作情况下需用短连好。

原文地址:https://www.cnblogs.com/holmes7521/p/15118710.html