zoukankan      html  css  js  c++  java
  • HTTP、TCP/IP协议的原理及应用

    访问网页时发生了什么

    当用户在浏览器地址栏输入地址,敲下回车键,直到看到网页界面,一般事件不过两三秒左右。然而在这瞬间时间,计算机实际上已经完成了非常复杂的操作。这段过程中发生的事情,其实有很大一部分就与HTTP TCP/IP有关,我们可以简要的概括一下大概的流程

    一、找服务器IP

    当用户输入一个网址并按下回车键的时候,浏览器得到了一个域名。而在实际通信过程中,浏览器需要的是一个IP地址。为了获得IP地址,浏览器会做如下操作,一般我们把浏览器通过域名查找对应IP的行为叫做DNS(域名系统Domain [də(ʊ)'meɪn] Name System,是互联网的一项服务)解析

    1.找浏览器的本地的缓存

    2.再找电脑硬盘里的host文件,有么有记录这个域名和IP的映射关系

    3.实在没找到,只好通过网络链路去域名供应商那里查询

    二、建立TCP/IP连接

    1.浏览器获取到了服务器对应的IP,就会向对应的IP服务器发送TCP(Transmission Control Protocol 传输控制协议)连接请求

    2.服务器收到请求后回应,双方多次确认后建立TCP双向连接。

    从客户端发起连接请求一直到TCP连接建立,这个过程,叫做三次握手

    如果请求时HTTPS的,还需要再TCP连接上,再通过SSL或TLS提供的加密处理数据、验证对方身份以及数据完整性,来保证数据传输的安全

    三、请求资源

    1.TCP连接创建完成,浏览器开始向服务器发送正式的HTTP请求的数据包

    2.服务端接受请求,对请求进行解析,经过数据操作后,返回客户端需要的数据包

    四、浏览器渲染

    浏览器获取到需要的数据以后,对数据进行拼接、解析、执行,最终将完整的网页绘制在网页上。

    五、浏览器缓存

    浏览器拿到服务器返回的数据后,会根据一定的策略进行数据缓存,这样在下一次请求同样数据的时候,就可以直接到缓存拿取,不再请求服务器。

    https://juejin.im/post/5d75c116f265da03d9255dd1

  • 相关阅读:
    解决文字溢出,换行等问题
    js获取年、月、日、时、分、秒
    JQuery EasyUI DataGrid动态合并单元格
    JQuery EasyUI Combobox联动
    JQuery EasyUI 读取设置input
    JQuery EasyUI DataGrid获取当前行索引及快速清空
    jQuery EasyUI combobox多选及赋值
    JQuery EasyUI DataGrid 、tree查询
    HTML元素ID和Name区别
    JQuery EasyUI之DataGrid列名和数据列分别设置不同对齐方式(转)
  • 原文地址:https://www.cnblogs.com/wangxirui/p/11492757.html
Copyright © 2011-2022 走看看