面试必学:输入 URL到页面的全过程-----五步完成、简单明了

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 面试必学:输入 URL到页面的全过程-----五步完成、简单明了

一、应用层解析

进行DNS解析:即将域名地址解析成 IP 地址


  • 网络设备是通过 IP地址,作为身份标识
  • 但是 IP地址不好记,所以很多时候就用一串单词 来进行表示。
  • DNS就是域名和IP地址互相映射的一个分布式数据库,通过对网页进行DNS解析,我们可以找到其域名

生成HTTP请求报文

起始行:请求方法URI协议/版本(GET Gitee - 基于 Git 的代码托管和研发协作平台 HTTP/1.1)


首部:包括域名host、keep-alive、User-Agent、Accept-Encoding、Accept-Language、Cookie等信息。请求头(Request Header)请求头包含许多有关的客户端环境和请求正文的有用信息。例如,请求头可以声明浏览器所用的语言,请求正文的长度等。


请求正文:主体内容即要传输的内容。如果是get请求,则主体内容为空


请求头和请求正文之间是一个空行,这个行非常重要,它表示请求头已经结束,接下来的是请求正文。请求正文中可以包含客户提交的查询字符串信息:


二、传输层连接

建立TCP连接-三次握手

52e98f9dc35745c8b2573aad441eea7b.png


  • 客户端先向服务器发送一个 syn 同步报文段、
  • 服务器收到后 返回一个 syn 和 ack
  • 客户端返回一个ack确认报文段

  • 经过上面 TCP 连接之后,客户端就可以向服务器发送请求了

三、服务区处理

服务器收到客户端的请求,服务器会进行响应,返回一个 HTTP响应报文


四、浏览器处理

浏览器收到 HTTP响应报文,就可以根据响应报文中的内容,对浏览器的页面进行渲染。

这时候我们的客户端浏览器页面就会出现最终页面的样子

五、断开

当数据传送完毕,需要断开 TCP连接,此时发起 TCP四次挥手。


955f1f448fd14c1199bb435e5af4f767.png


相关文章
|
2月前
|
JavaScript
如何在JS中实现修改URL参数而不刷新页面
如何在JS中实现修改URL参数而不刷新页面
149 1
|
2月前
|
Web App开发 缓存 前端开发
【面试题】从输入 URL 到页面显示,这中间发生了什么?
【面试题】从输入 URL 到页面显示,这中间发生了什么?
|
1月前
|
缓存 网络协议 前端开发
【高频】从输入URL到页面展示到底发生了什么?
【高频】从输入URL到页面展示到底发生了什么?
|
28天前
|
Web App开发 移动开发 安全
如何做到修改 url 参数页面不刷新
如何做到修改 url 参数页面不刷新
|
2月前
|
缓存 网络协议 前端开发
URL输入到页面渲染过程详解
URL输入到页面渲染过程详解
21 1
|
2月前
|
JavaScript
js如何实现修改URL参数并不刷新页面
js如何实现修改URL参数并不刷新页面
|
2月前
|
存储 小程序
【边做边学】uni.switchTab的目标页面获取不到url携的参数
【边做边学】uni.switchTab的目标页面获取不到url携的参数
136 1
|
2月前
|
JavaScript
如何在JS中实现修改URL参数而不刷新页面
如何在JS中实现修改URL参数而不刷新页面
|
2月前
|
JavaScript 前端开发 UED
如何在JS中实现修改URL参数而不刷新页面
如何在JS中实现修改URL参数而不刷新页面
125 2
|
2月前
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。