您好、欢迎来到现金彩票网!
当前位置:秒速快3 > 输入优先级 >

浏览器输入url到发起http请求所经历的过程

发布时间:2019-05-31 01:28 来源:未知 编辑:admin

  当用户输入url,操作系统会将输入事件传递到浏览器中,在这过程中,浏览器可能会做一些预处理,比如 Chrome 会根据历史统计来预估所输入字符对应的网站,例如输入goog,根据之前的历史发现 90% 的概率会访问「」,因此就会在输入回车前就马上开始建立 TCP 链接甚至渲染了。

  接着是输入url之后,点击回车,这时浏览器会对 URL 进行检查,首先判断协议,如果是 http 就按照 Web 来处理,另外还会对这个 URL 进行安全检查。安全检查完成之后,在浏览器内核中会先查看缓存,然后设置 UA 等 HTTP 信息,接着调用不同平台下网络请求的方法。

  注意:浏览器和浏览器内核是不同的概念,浏览器指的是 Chrome、Firefox,而浏览器内核则是 Blink、Gecko,浏览器内核只负责渲染,GUI 及网络连接等跨平台工作则是浏览器实现的。

  包括通过 DNS 查询 IP,以及通过 Socket 发送数据。DNS,英文是Domain Name System,中文叫域名系统,是Internet的一项服务,它将域名和IP地址相互映射的一个分布式数据库,假设用户在浏览器中输入的是,大概过程:

  进行DNS查询的主机或软件叫做DNS解析器,用户使用的工作站或电脑都属于解析器。域名解析就是利用DNS解析器得到对应IP过程,解析器会向域名服务器进行查询处理。如果输入的是域名,则需要进行dns查询,将域名解析成ip。主要过程如下:

  用户电脑的解析器向LDNS(也就是Local DNS,互联网服务提供商ISP),发起域名解析请求,查询的IP地址,这是一个递归查找过程

  在缓存没有命中的情况下,LDNS向根域名服务器.查询的IP地址,LDNS的查询过程是一个迭代查询的过程

  根告诉LDNS,我不知道对应的IP,但是我知道你可以问com域的授权服务器,这个域归他管

  com告诉LDNS,我不知道对应的IP,但是我知道你可以问的授权服务器,这个域归他管

  google.com查询自己的ZONE文件(也称区域文件记录),找到了对应的IP地址,返回给LDNS

  在这之后,用户电脑的解析器拿到结果后,缓存在自己操作系统DNS缓存中,同时返回给浏览器,浏览器依旧会缓存一段时间。

  注意:域名查询时有可能是经过了CDN调度器的(如果有cdn存储功能的话);而且,需要知道dns解析是很耗时的,因此如果解析域名过多,会让首屏加载变得过慢,可以考虑dns-prefetch优化。

  有了 IP 地址,就可以通过 Socket API 来发送数据了,这时可以选择 TCP 或 UDP 协议。http本质是tcp协议。TCP是一种面向有连接的传输层协议。他可以保证两端(发送端和接收端)通信主机之间的通信可达。他能够处理在传输过程中丢包、传输顺序乱掉等异常情况;此外他还能有效利用宽带,缓解网络拥堵。建立TCP连接一开始都要经过三次握手:

  注意:浏览器对同一个域名有连接数限制,大部分是 6,http1.0中往往一个资源下载就需要对应一个tcp/ip请求,而像 HTTP 2.0 协议尽管只使用一个 TCP 连接来传输数据,但性能反而更好,而且还能实现请求优先级。(文/jianwenjuan)

http://moserfarmshomes.com/shuruyouxianji/165.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有