浏览器输入URL再按下回车会经历哪些过程

目录

前言

一、解析URL

二、解析域名(DNS)

三、TCP三次握手建立连接

1.seq、syn、ack含义

2.三次握手 

四、发送http/https请求

五、服务器响应请求

六、浏览器解析渲染页面 

七、TCP四次挥手断开连接

总结


前言

看各种面经发现这个问题是一个高频出现的面试问题,但我自己对于浏览器知识点的了解相对薄弱,通过这篇文章来简单了解下浏览器相关知识点。

一、解析URL

输入URL按下回车后,浏览器会提取输入的协议、域名、路径等信息,检测输入的URL是不是一个合法的链接或者搜索词。

二、解析域名(DNS)

域名的构成如www.baidu.com.

最后的.为根域名(常忽略不写)

.com:一级域名(也叫顶级域名) com一般为营利组织 还有.net(网络提供商)  .org(非营利组织)

baidu:二级域名

www:主机名

获取输入域名中的ip地址,会通过多层域名解析服务器解析域名获得ip地址。

1.会在本地缓存中查找是否缓存过域名所指的ip地址

2.会检查host文件

3.浏览器发送一个请求到本地DNS服务器,本地DNS服务器进行解析

4.如果本地DNS服务器没有,则本地DNS服务器向根DNS服务器发送请求,进行解析

5.如果根域名解析服务器没有则本地DNS服务器去向顶级域DNS服务器进行解析

6.本地DNS服务器向权威DNS服务器发送请求

三、TCP三次握手建立连接

1.seq、syn、ack含义

seq:序列号 用于标识TCP报文段的顺序

ack:确认号 用于确认已接收到的报文字段的序列号

SYN:用于建立连接,等于1时表示这是一个连接请求或连接接受报文

ACK:确认序号有效 为1时生效,为0时无效

2.三次握手 

1.第一次握手 客户端发送SYN包(seq=x)到服务器,等待服务器确认

2.第二次握手 服务器接收客户端的SYN包,确认客户的SYN(ack=x+1),同时自己也发送一个SYN(seq=y)包,即ACK+SYN包

3.第三次握手 客户端接收服务器传过来的ACK+SYN包,向服务器发送确认包ACK(ack=y+1)

三次握手完成,客户端和服务器正式开始传递数据

如图所示:

四、发送http/https请求

TCP连接建立好后浏览器会向服务器发送http/https请求

完整的请求包含三个部分:请求行+请求头部+请求体

 

五、服务器响应请求

六、浏览器解析渲染页面 

在这条博客详细写了浏览器渲染的流程

浏览器的渲染流程-CSDN博客

七、TCP四次挥手断开连接

FIN:请求释放连接

第一次挥手:客户端发送FIN(seq=u)数据包到服务器,用来关闭客户端到服务器的数据连接

第二次挥手:服务器接收FIN包,向客户端发送ACK包(seq=v,ack=u+1,将序列号+1作为本次确认号)

第三次挥手:服务器发送一个FIN(seq=w)包到客户端,请求客户端关闭连接

第四次挥手:客户端收到服务器发送的FIN包,向服务器端发送ACK包(ack=w+1,将序列号+1作为本次确认号,seq=u+1,将确认号作为序列号发送),服务器收到ACK包后关闭连接,客户端等待一段时间后未收到服务器端消息证明其关闭后则关闭连接。

如图所示:


总结

以上就是在浏览器中输入URL到回车会发生的全部过程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/244111.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Physically-Based Rendering(PBR)基于物理的渲染(一)

文章目录 一、什么是PBR? 一、什么是PBR? Physically-Based Rendering (PBR)基于物理渲染包含材质、光源、相机、光线传播等,但在实时渲染领域我们提PBR说的就是PBR材质。 PBR在实时领域材质丰富度没有离线PBR多,因为要考虑性能。 再者严格来说实时领…

【网络协议】LACP(Link Aggregation Control Protocol,链路聚合控制协议)

文章目录 LACP名词解释LACP工作原理互发LACPDU报文确定主动端确定活动链路链路切换 LACP和PAgP有什么区别?LACP与LAG的关系LACP模式更优于手动模式LACP模式对数据传输更加稳定和可靠LACP模式对聚合链路组的故障检测更加准确和有效 推荐阅读 LACP名词解释 LACP&…

云贝教育 |【分享课】12月14日周四PostgreSQL分享主题:PG的流复制

分享主题:PG的流复制 讲师:刘峰 时间:12月14日 周四 晚上 19:30 分享平台:微信视频号 云贝学院 分享内容: 流复制的工作原理流复制主从搭建流复制主从切换流复制添加/删除备节点流复制修改同步模式

工作随记:oracle 19c客户端通过service访问PDB异常问题

文章目录 概要技术测试分析测试1:测试2:测试3:测试4: 解决方案:1、修改service2、修改pdb名称 总结 概要 应用端访问提示错误信息为:VersionHelper异常!未将对象引用设置到对象的实例! 此问题…

Axure产品流程图绘制

1.Axure产品流程图绘制简介 2.获取软件 2.1 ProcessOn介绍 2.2 ProcessOn应用场景 3.绘制门诊模块流程图 3.1 门诊模块流程图 4.绘制住院业务流程图 4.1 住院业务流程图 5.药库采购入库流程图 5.1 药库采购入库流程图 6.会议OA流程图 6.1 会议OA流程图 7.自定义元件…

2019年第八届数学建模国际赛小美赛D题安全选举的答案是什么解题全过程文档及程序

2019年第八届数学建模国际赛小美赛 D题 安全选举的答案是什么 原题再现: 随着美国进入一场关键性的选举,在确保投票系统的完整性方面进展甚微。2016年总统大选期间,唐纳德特朗普因被指控受到外国干涉而入主白宫,这一问题再次成为…

android studio 按键点击事件的实现方法

一、onClick属性&#xff1a; 1&#xff09;、在activity_main.xml中设置button的onClick属性&#xff1a; <Buttonandroid:id"id/button"android:layout_width"wrap_content"android:layout_height"wrap_content"android:text"开灯&q…

Axure自定义元件

目录 1.processOne的使用 ​编辑2.自定义元件的使用、 2.1如何自定义一个元件 2.2使用自定义元件 导语&#xff1a; Axure是绘制原型图的软件&#xff0c;但是我们很多时候不知道&#xff0c;画哪一个板块&#xff0c;所以流程图的绘制也是非常重要的 1.processOne的使用…

冰岛市场开发攻略,带你走进冰火之国

冰岛是北欧五国之一&#xff0c;也是高度发达的资本主义国家&#xff0c;拥有成熟的消费市场&#xff0c;如果想开发冰岛的市场的话&#xff0c;就需要了解一下冰岛的一些情况。下面就给大家来打冰岛的开发攻略&#xff0c;带大家走进冰火之国--冰岛。文章略长&#xff0c;大家…

mybatis动态SQL-sql片段

1、建库建表 create database mybatis-example; use mybatis-example; create table emp (empNo varchar(40),empName varchar(100),sal int,deptno varchar(10) ); insert into emp values(e001,张三,8000,d001); insert into emp values(e002,李四,9000,d001); insert into…

生活是自己的,请尽情打扮,尽情可爱

端庄大气又尽显GAO级感 的明制汉服处处都是是惊喜 领口袖口拼接仿貂毛环保毛条 保暖又精致 袖子贴民族风珠片刺绣织带 门襟搭配金属子母扣 前胸欧根纱刺绣圆形布贴 每一处都是用心制作 红色喜庆&#xff0c;用来做拜年服来穿再合适不过啦

ros2+gazebo建立机器人

Building your own robot In this tutorial we will learn how to build our own robot in SDFormat. We will build a simple two wheeled robot.本文用SDF文件建立一个2轮机器人 You can find the finished SDF file for the tutorial here.SDF文件点击下载 What is SDF SD…

电脑和手机中的日历提醒怎么进行同步

作为一名忙碌的现代人&#xff0c;我常常需要在电脑和手机上记录各种日程和提醒。然而&#xff0c;我发现电脑和手机“日历提醒无法同步”是一个令人头疼的问题。如果我在电脑中添加了一个提醒&#xff0c;但是我没有把它同步到我的手机上&#xff0c;那么当我离开电脑时&#…

关于shell的面试题小练习(三道)

目录 第一题&#xff1a;&#xff08;关于内存&#xff09; 第一步&#xff1a;需了解使用的大纲命令 第二步过滤取得具体所需的值 第三步&#xff1a;具体执行步骤及命令 1&#xff09;安装邮件软件 2&#xff09;编辑脚本 方法一&#xff1a;脚本编辑1 方法二&#x…

玩转 K8s 权限控制:RBAC + kubeconfig 搞定 kubectl 权限管理那些事

1. 先抛需求 当一个 K8s 集群需要被多个租户共享时&#xff0c;就涉及到了权限问题&#xff0c;比如你是管理员&#xff0c;这时候你会面临着“给每个用户分配一个 Namespace”类似的需求。 更进一步&#xff0c;可能你需要限制特定用户只能够对集群进行特定的操作&#xff0c;…

Dialogue Transformers:如何解决医学大模型【偏离主诉和没抓住核心】,建立抗干扰的能力,使得发现用户问题会一追到底?

Dialogue Transformers&#xff1a;实现抗干扰能力的对话模型 抗干扰能力基于 Transformer 的实现技术优化目标 抗干扰能力 前置知识&#xff1a;从【注意力机制】开始&#xff0c;到【Transformer】的零基础【大模型】系列 Dialogue Transformers 论文地址&#xff1a;https:/…

如何用CHAT写复习教案?

近日天气恶劣&#xff0c;好多地方的学校都停课了&#xff0c;改为线上学习&#xff0c;那作为老师&#xff0c;如何安排好线上的教学方案呢&#xff1f;下面小编分享下朋友用CHATGPT写的这份复习教案。 问CHAT&#xff1a;一年级语文上册复习计划教案 CHAT回复&#xff1a;教…

网络安全事件分级指南

文章目录 一、特别重大网络安全事件符合下列情形之一的&#xff0c;为特别重大网络安全事件&#xff1a;通常情况下&#xff0c;满足下列条件之一的&#xff0c;可判别为特别重大网络安全事件&#xff1a; 二、重大网络安全事件符合下列情形之一且未达到特别重大网络安全事件的…

HarmonyOS--基础组件Text

Text组件 可以包含Span子组件。 接口 Text(content? : string | Resource) string: Text(我是ttttt) Resource: Text($r(app.string.aaaaaa)) 先找限定词目录&#xff0c;找不到内容 找base目录 属性 除支持通用属性外&#xff0c;还支持以下属性&#xff1a; 名称 参数…

工厂设备数据采集如何更高效?

​随着工业4.0时代的到来&#xff0c;工厂设备数据采集变得越来越重要。然而&#xff0c;在实际的生产环境中&#xff0c;工厂设备数据采集面临着诸多痛点和难点。本文将分析这些痛点和难点&#xff0c;并介绍如何解决这些问题&#xff0c;提高工厂设备数据采集的效率。 一、工…