网络面试——浏览器输入url到显示主页的过程

浏览器输入URL到显示主页的过程通常可以分为以下步骤:

  1. **URL解析**:
  • 当用户在浏览器的地址栏中输入URL时,浏览器会首先对该URL进行解析。

  • 解析URL包括识别协议(例如HTTP、HTTPS)、主机名(例如www.example.com)、路径(例如/index.html)等。

  1. **DNS解析**:
  • 浏览器将解析出的主机名发送到DNS(域名系统)服务器,以获取该主机名对应的IP地址。

  • 如果该主机名已经被缓存,则直接从缓存中获取IP地址;否则,将向DNS服务器发送DNS查询请求。

  1. **建立TCP连接**:
  • 浏览器使用HTTP或HTTPS协议与获取的IP地址上的服务器建立TCP连接。

  • 对于HTTPS协议,还会进行SSL握手过程,确保通信安全性。

  1. **发送HTTP请求**:
  • 一旦TCP连接建立,浏览器会向服务器发送HTTP请求,请求页面或资源。

  • 请求头部可能包括信息如请求的方法(GET、POST等)、所需的页面或资源、浏览器的相关信息等。

  1. **服务器处理请求**:
  • 服务器接收到浏览器发送的HTTP请求后,会根据请求的内容和服务器的配置进行相应的处理。

  • 处理过程可能包括读取文件、执行脚本、访问数据库等操作。

  1. **服务器返回响应**:
  • 服务器处理完请求后,会生成相应的HTTP响应,包括响应头和响应主体。

  • 响应头包括状态码(如200表示成功,404表示未找到页面等)、服务器信息、内容类型等。

  • 响应主体则包含请求的页面内容或资源的数据。

  1. **浏览器接收响应**:
  • 浏览器接收到服务器返回的HTTP响应后,开始解析响应内容。

  • 如果是HTML页面,浏览器会解析HTML文档,并同时获取并解析页面中引用的外部资源,如CSS样式表、JavaScript脚本、图像等。

  1. **渲染页面**:
  • 浏览器根据HTML文档和相关资源,将页面内容呈现在用户界面上。

  • 页面的呈现包括解析HTML结构、应用CSS样式、执行JavaScript代码等步骤。

  1. **显示页面**:
  • 最终,浏览器将渲染好的页面显示给用户。

  • 用户可以与页面进行交互,如点击链接、填写表单等。

这些步骤构成了浏览器从接收到用户输入URL到显示网页内容的完整过程。

浏览器中输入: " www.woaijava.com " 之后都发生了什么? 请详细阐述
由域名 → IP 地址 寻找 IP 地址的过程依次经过了浏览器缓存、系统缓存、 hosts 文件、路由器缓
存、 递归搜索根域名服务器。
建立 TCP/IP 连接(三次握手具体过程)
由浏览器发送一个 HTTP 请求
经过路由器的转发,通过服务器的防火墙,该 HTTP 请求到达了服务器
服务器处理该 HTTP 请求,返回一个 HTML 文件
浏览器解析该 HTML 文件,并且显示在浏览器端
这里需要注意:
HTTP 协议是一种基于 TCP/IP 的应用层协议,进行 HTTP 数据请求必须先建立 TCP/IP 连接
可以这样理解: HTTP 是轿车,提供了封装或者显示数据的具体形式; Socket 是发动机,提供了
网络通信的能力。
两个计算机之间的交流无非是两个端口之间的数据通信 , 具体的数据会以什么样的形式展现是以
不同的应用层协议来定义的。
主要包括以下几个基本步骤:

浏览器的地址栏输入URL并按下回车

浏览器查找当前URL是否存在缓存,并比较缓存是否过期

DNS解析URL对应的IP

根据IP建立TCP连接(三次握手)

发送HTTP请求

服务器处理请求

返回HTTP响应

浏览器接受HTTP响应

关闭TCP连接(四次挥手)

浏览器解析HTML

浏览器布局渲染

浏览器地址栏输入 url 并回车:

  1. 浏览器解析 URL

1.1 查看缓存

1.2 DNS 解析

  1. 根据 IP 地址三次握手建立 TCP 连接

  2. 发送 HTTP 请求

  3. 服务器处理请求

  4. 服务器返回 HTTP 响应

  5. 浏览器接受响应

  6. 四次挥手关闭 TCP 连接

  7. 浏览器解析 HTML

  8. 浏览器布局渲染

相关推荐
ZZZCY200334 分钟前
华为ENSP--IP编址及静态路由配置
网络·华为
EasyCVR1 小时前
私有化部署视频平台EasyCVR宇视设备视频平台如何构建视频联网平台及升级视频转码业务?
大数据·网络·音视频·h.265
Rstln1 小时前
【DP】个人练习-Leetcode-2019. The Score of Students Solving Math Expression
算法·leetcode·职场和发展
hgdlip1 小时前
主IP地址与从IP地址:深入解析与应用探讨
网络·网络协议·tcp/ip
珹洺2 小时前
C语言数据结构——详细讲解 双链表
c语言·开发语言·网络·数据结构·c++·算法·leetcode
科技象限2 小时前
电脑禁用U盘的四种简单方法(电脑怎么阻止u盘使用)
大数据·网络·电脑
东方隐侠安全团队-千里2 小时前
网安瞭望台第3期:俄黑客 TAG - 110组织与密码攻击手段分享
网络·chrome·web安全·网络安全
云计算DevOps-韩老师2 小时前
【网络云计算】2024第47周-每日【2024/11/21】周考-实操题-RAID6实操解析2
网络·云计算
耗同学一米八3 小时前
2024 年河北省职业院校技能大赛网络建设与运维赛项样题四
运维·网络