美文网首页
输入网址后发生了什么

输入网址后发生了什么

作者: 马建阳 | 来源:发表于2018-04-03 13:11 被阅读71次

用户打开浏览器,输入 baidu.com,页面展示百度首页。整个过程发生了什么

总述

1、输入网址。
2、浏览器查找域名的IP地址。

  1. 浏览器给web服务器发送一个HTTP请求
  2. 网站服务的永久重定向响应
  3. 浏览器跟踪重定向地址。 现在,浏览器知道了要访问的正确地址,所以它会发送另一个获取请求。
  4. 服务器“处理”请求,服务器接收到获取请求,然后处理并返回一个响应。
  5. 服务器发回一个HTML响应
  6. 浏览器开始显示HTML
  7. 浏览器发送请求,以获取嵌入在HTML中的对象。在浏览器显示HTML时,它会注意到需要获取其他地址内容的标签。这时,浏览器会发送一个获取请求来重新获得这些文件。这些文件就包括CSS/JS/图片等资源,这些资源的地址都要经历一个和HTML读取类似的过程。所以浏览器会在DNS中查找这些域名,发送请求,重定向等等…

DNS查找过程

DNS查找过程如下:

1.浏览器缓存 – 浏览器会缓存DNS记录一段时间。 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等)。
2.系统缓存 – 如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(windows里是gethostbyname)。这样便可获得系统缓存中的记录。
3.路由器缓存 – 接着,前面的查询请求发向路由器,它一般会有自己的DNS缓存。
4.ISP(互联网服务提供商) DNS 缓存 – 接下来要check的就是ISP缓存DNS的服务器。在这一般都能找到相应的缓存记录。

1、三次握手

这里写图片描述

三次握手的过程如下:

  • 客户端A 发送SYN(seq = x)报文给服务器B,然后进入SYN_SENT状态;
  • B收到SYN报文,回应一个SYN(seq = y) ACK (ACK = x + 1)报文,进入SYN_RCVD状态;
  • A收到SYN报文后,回应一个ACK(ACK = y + 1),进入ESTABLISHED状态;B收到ACK报文后,进入ESTABLISHED状态

三次握手后,A和B成功地建立了连接,可以开始传输数据了~

2、四次挥手

四次挥手的过程如下:

  • 客户端A上的某个进程,主动关闭连接,发送FIN(seq = u)报文给B,然后进入FIN_WAIT_1状态;
  • B收到FIN报文,回应一个ACK (ACK = u + 1)报文,进入CLOSED_WAIT状态;A收到FIN报文,进入FIN_WAIT_2状态;
  • B向A发送FIN(seq = v)报文,进入LAST_ACK状态;
  • A收到FIN报文后,向B发送ACK(ACK = v + 1)报文,进入TIME_WAIT状态

四次挥手后,A和B成功地断开了连接~

这里写图片描述
形象介绍(https://blog.csdn.net/qq_36783216/article/details/78063280
具体介绍(https://blog.csdn.net/peter_teng/article/details/52775960

浏览器渲染过程

1.处理 HTML 标记并构建 DOM 树。
2.处理 CSS 标记并构建 CSSOM 树。
3.将 DOM 与 CSSOM 合并成一个渲染树。
4.根据渲染树来布局,计算出每个节点在屏幕中的位置。
5.将各个节点绘制到屏幕上。

为什么css放在head里,js放在body后

1.css会阻塞渲染,放在head里可以尽快下载,缩短首次渲染时间
2.js会阻塞解析和渲染,而且要等css下载结束才执行。所以放到最后等页面渲染完毕执行,减少页面阻塞时间。而且放在前面会无法访问到它的一些元素

相关文章

  • 前端必会的http基础

    一、输入一个网址后都发生了什么 输入网址并回车,浏览器检查网络是否连通2、解析域名(访问DNS服务器)3、浏览器发...

  • 输入网址后发生了什么

    用户打开浏览器,输入 baidu.com,页面展示百度首页。整个过程发生了什么 总述 1、输入网址。2、浏览器查找...

  • 输入网址后,期间发生了什么?

    [toc] 前言 想必不少小伙伴面试过程中,会遇到「当键入网址后,到网页显示,其间发生了什么」的面试题。 还别说,...

  • 当在浏览器输入一个网址后,实际会发生什么?

    那么,输入网址后,实际发生了什么呢?过程如下: 1、输入网址。 2、浏览器查找域名的IP地址。 导航的第一步是通过...

  • 输入网址发生了什么

    自己头脑中的记忆 输入网址 利用DNS查询,得到ip 发送请求资源数据,请求报文 TCP协议三次握手 传输 返回数...

  • 第六天

    1、手写promise封装ajax请求 2、在地址栏输入网址敲回车发生了什么? 1.输入url地址后,首先...

  • 2017-12-26

    输入网址后发生了什么 假设有个用户打开浏览器,输入 baidu.com,页面展示百度首页。那么这个过程大概发生了什...

  • 当你输入谷歌网址按回车后,发生了什么?

    当你访问谷歌网址的时候,整个过程发生了什么? 当你在 Chrome 浏览器输入谷歌的网址,https://goog...

  • 输入网址然后发生了什么?

    前端面试必考题:输入网址点击回车到页面展示发生了什么?很多时候我们只是了解其中的过程很少去细细研究,today,今...

  • 输入网址之后发生了什么

    1.首先是输入网址 以www.facebook.com为例 2.浏览器查找域名对应IP 2.1 DNS查找过程: ...

网友评论

      本文标题:输入网址后发生了什么

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