美文网首页
HTTP请求过程原理

HTTP请求过程原理

作者: Jey | 来源:发表于2020-05-15 18:12 被阅读0次

    HTTP 协议(超文本传输协议),基于TCP协议的,它对应于应用层,主要解决包装数据和解析。
    参考:https://www.jianshu.com/p/ac22fb251339

    http访问网站的步骤原理:

    1. DNS域名解析,通过域名获取对应IP地址
    2. 根据IP地址访问网站服务器,TCP三次握手过程
    3. 用户向网站服务请求信息,HTTP请求过程(HTTP请求报文)
    4. 网站服务对用户请求进行响应,HTTP响应过程(HTTP响应报文)
    5. 断开连接,4次挥手过程

    下面我们主要讲解前两步过程,后面有时间再补充

    DNS域名解析

    访问一个网站,都是使用主机名或域名来访问,通常不会直接通过IP地址来访问。为什么我们不用IP地址去访问呢?因为IP地址是一组纯数字,比较难记。但是易读的域名就比较清晰了。可是,计算机和人不一样。计算机比较擅长处理一长串数字。
    为了解决这个问题,就有了DNS服务,提供域名到IP地址之间的解析服务。

    步骤:

    1. 发起一个访问,第一步是请求本地DNS解析器,在缓存文件hosts中查找。
    2. 如果没有,请求本地的DNS服务器。
    3. 本地的DNS服务器一般部署在你的数据中心或所在运营商的网络中,本地DNS服务器需要查看本地是否有缓存,如果有则返回。
    4. 若无,本地DNS需要递归的从根DNS服务器,查到顶级域名服务器,最终查到权威DNS服务器,返回给本地DNS服务器。


      图片.png
    TCP三次握手过程
    649054-20151022003050427-83789181.jpg
    1. 握手过程中使用了TCP的标志-SYN和ACK。发送端首先发送一个S带SYN标志的数据包给对方。
    2. 接收端接到后,就会回传一个带有SYN/ACK标志的数据包 以表示传达确认信息。
    3. 最后,发送端再回传一个带ACK标志的数据包 给接收端。

    socket粘包问题:
    https://blog.csdn.net/zhangxinrun/article/details/6721495?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare

    https://blog.csdn.net/qq513036862/article/details/53640317?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare

    相关文章

      网友评论

          本文标题:HTTP请求过程原理

          本文链接:https://www.haomeiwen.com/subject/glchohtx.html