在浏览器输入url回车之后发生了什么?
在浏览器输入url回车之后发生了什么?
- 浏览器解析URL(https://www.baidu.com/dist/test.html),获得协议(https)、web服务器名(baidu.com)和文件路径(/dist/test.html)等信息
- 根据解析URL获取的信息生成HTTP请求报文(请求行 + 消息头 + 消息体)
- 客户端去DNS服务器查询web服务器域名对应的IP地址
- 域名解析(www.baidu.com):
- 客户端向本地DNS服务器发起DNS请求,如果本地有缓存,则直接取出对应web服务器的IP地址返回给客户端
- 如果本地没有缓存,则向根域服务器发起请求,它会告诉你去.com域名服务器去找
- 然后向.com域名服务器发起请求,它会告诉你去baidu.com域名服务器去找
- 最后向baidu.com域名服务器发起请求,它会找到对应web服务器地址的IP地址返回给本地DNS
- 域名解析(www.baidu.com):
- 为HTTP报文添加TCP头部,添加源端口号+目的端口号等信息
- 三次握手建立TCP连接
- 客户端(CLOSED),服务端(CLOSED)>>
- 客户端(CLOSED),服务端主动监听某端口 >(LISTEN) >>
- 客户端发起连接SYN>(SYN—SENT)
- 服务端收到SYN,发送SYN + ACK > (SYN-RCVD) 第一次握手
- 客户端收到SYN + ACK,发送ACK >(ESTABLISHED) 第二次握手
- 服务端收到ACK > (ESTABLISHED)第三次握手
- 三次握手的目的就是保证双方都有发送和接收的能力
- TCP协议会将过大的数据包分包处理
- 三次握手建立TCP连接
- 为TCP+HTTP+报文添加IP头部 ,添加源IP地址+目的IP地址等信息
- 为IP + TCP + HTTP + 报文添加MAC头部,添加源MAC地址+ 目的MAC地址等信息
- MAC地址用于两点之间传输(MAC地址是路由器的地址)
- MAC + IP + TCP + HTTP + 报文通过网卡发送到交换机
- 网卡将数字信号转化为电信号发送出去
- 交换机根据报文的MAC地址查找MAC地址,然后将信号发送到对应端口
- 报文通过交换机到达了路由器,路由器通过对应的端口将报文发送出去
- 路由器与交换机的区别:路由器的每个端口都具有MAC地址与IP地址,交换机的每个端口都只有MAC地址
- 数据包终于抵达服务器,服务器根据四个请求头来分发数据。
- 分发到HTTP进程,将浏览器请求的数据封装成HTTP响应报文,HTTP响应报文也逐层添加TCP、IP、MAC头部,不过这次的源地址是服务器IP地址,目的地址是客户端IP地址
- 响应报文(状态行 + 消息头 + 消息体)
- 报文 >> 网卡 >> 交换机 >> 路由器 >> …
- 最后客户端收到HTTP响应报文,交给浏览器去响应报文,向服务器发起了TCP四次挥手断开连接。
在浏览器输入url回车之后发生了什么?相关推荐
- 在浏览器输入url回车后发生了什么
在浏览器输入url回车后发生了什么 转载 https://www.cnblogs.com/tisikcci/p/5866753.html
- 面试环节:在浏览器输入 URL 回车之后发生了什么?(超详细版)
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者 | 4Ark 来源 | https://4ark.me/po ...
- 在浏览器输入URL回车之后发生了什么
一.URL 解析 地址解析: 首先判断你输入的是一个合法的 URL 还是一个待搜索的关键词,并且根据你输入的内容进行自动完成.字符编码等操作. HSTS 由于安全隐患,会使用 HSTS 强制客户端使用 ...
- 面试官问:浏览器输入 URL 回车之后发生了什么?
点击上方"Java后端技术栈",选择"关注公众号" 技术文章第一时间送达! 来源 : https://4ark.me/post/b6c7c0a2.html 前言 ...
- 面试题:在浏览器输入 URL 回车之后发生了什么?(超详细版)
点击上方"悟能之能",选择"设为星标"回复"面经"获取面试资料 来源:https://4ark.me/post/b6c7c0a2.html ...
- 关于http:浏览器输入url之后,发生了什么?
原文链接:当键入网址后,到网页显示,其间发生了什么?这问题被面试官问了五六十次,熬夜赶出这篇文章_小林coding-CSDN博客 原文大佬写的特别好,转载只为了个人添加一些记录. 文章目录 前言 正文 ...
- 超细!在浏览器输入xxxhub 回车之后发生了什么?
# 前言 这个问题已经是老生常谈了,更是经常被作为面试的压轴题出现,网上也有很多文章,但最近闲的无聊,然后就自己做了一篇笔记,感觉比之前理解更透彻了. 这篇笔记是我这两天看了数十篇文章总结出来的,所 ...
- 在浏览器输入地址回车后,发生了什么!
在浏览器输入连接回车后,发生了什么! 一.浏览器查找域名的IP地址 二.浏览器与目标服务器建立TCP连接 三.浏览器通过http协议发送请求 四.某些服务器会做永久重定向响应 五.浏览器跟踪重定项地址 ...
- HTTP浏览器输入URL后发生了什么
原文:"天龙八步"细说浏览器输入URL后发生了什么 慕课大神 本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应 ...
最新文章
- php数字加零,php实现数字补零的两种方法
- android修改系统设置权限_安卓保护隐私利器!完美解决软件「不给权限就不运行」的小工具...
- php查询跳转结果页面,登录判断跳转页面
- JS,JQ 格式化小数位数
- Flutter之Decoration
- java过滤器api_springboot集成过滤器
- 玩转oracle 11g(12):卸载
- java-生产者消费者模式
- 【Arduino】使用C#实现Arduino与电脑进行串行通讯
- 召唤AI大神与病毒作战!Kaggle发起CORD-19数据集文本挖掘竞赛
- ARM、X86/Atom、MIPS、PowerPC 介绍
- 发生了未经处理的异常
- 耿丹16-1第一次作业
- TypeError: unhashable type: ‘numpy.ndarray‘
- Atitit office ooxml 系列 excel的读取api 框架 poi的使用
- 图解通信原理与案例分析-33:传感器种类以及传感器工作原理详解
- 一个初学者的辛酸路程-函数-4
- PHP操作MongoDB技術總結
- 【Wechat】微信支付APIV3(商户) 接入批量转账到零钱
- Windows XP中自动登录设置
热门文章
- 智能养殖监控系统实现蛋鸡养殖规模化
- 【论文阅读】注意力机制与二维 TSP 问题
- python求伽马分布模型参数_Python实现的各种常见分布算法示例
- [乐意黎转载]云南公务员招录计划中将增加残疾人指标!
- 破解可读不可复制的 U 盘
- Coursera SQL for Data Science - Notes
- 【Reference reading】用19F标记的BPA-果糖复合物在C6老鼠胶质瘤模型的19F MRI和19F MRS来优化硼中子捕获治疗(BNCT)
- 基于百度地图API的交通可达性分析python
- 基于imx6ul平台移植ohos3.0.3LTS小型系统之添加产品编译框架
- java d打字游戏_java实现快速打字游戏