当前位置: 首页 > article >正文

浏览器中输入一个URL后,按下回车后发生了什么

URL ,统一资源定位符, 简单点就是网址 =ip 或域名 + 端口号 + 资源位置 + 参数 + 锚点
大致流程
  1. URL 解析
  2. DNS 查询
  3. TCP 连接
  4. 处理请求
  5. 接受响应
  6. 渲染页面
1 输入一个网址之后,首先浏览器通过查询 DNS ,查找这个 URL IP 地址,(通过层层向上级 DNS 服务器查找直到找到对应URL IP 地址)
2 得到目标服务器的 IP 地址及端口号( http 80 端口, https 443 端口),会调用系统库函数 socket, 请求一个TCP 流套接字。客户端向服务器发送 HTTP 请求报文
1 )应用层:客户端发送 HTTP 请求报文。
2 )传输层:(加入源端口、目的端口)建立连接。实际发送数据之前三次握手客户端和服务器建 立起一个TCP 连接。
3 )网络层:(加入 IP 头)路由寻址。
4 )数据链路层:(加入 frame头)传输数据。Cookies如果是首次访问,会提示服务器建立用户缓存信息,
5 )物理层:物理传输 bit
3 服务器端经过物理层 数据链路层 网络层 传输层 应用层,解析请求报文,发送 HTTP 响应报文。
4 关闭连接, TCP 四次挥手。
5 客户端解析 HTTP 响应报文,浏览器开始显示 HTML

 


http://www.kler.cn/a/420787.html

相关文章:

  • 【机器学习】CatBoost 模型实践:回归与分类的全流程解析
  • 【包教包会】CocosCreator3.x——重写Sprite,圆角、3D翻转、纹理循环、可合批调色板、不影响子节点的位移旋转缩放透明度
  • 嵌入式系统应用-LVGL的应用-平衡球游戏 part2
  • javaweb_Day05
  • 纯Go语言开发人脸检测、瞳孔/眼睛定位与面部特征检测插件-助力GoFly快速开发框架
  • DTC控制,直接转矩控制详解
  • Truffle和Remix简介
  • 基础原型链污染
  • K8S资源之secret资源
  • 基于Java Springboot传统戏曲推广微信小程序
  • 泷羽sec-burp功能介绍(1) 学习笔记
  • Python爬取机车网车型数据并存入Mysql数据库
  • 如何让控件始终处于父容器的居中位置(父容器可任意改变大小)
  • vue项目如何设置字体样式font-family,font-family在项目中不生效
  • linux perf安装问题解决
  • Python线程使用
  • linux arm下获取屏幕事件(rk3588)
  • 大模型开发和微调工具Llama-Factory-->训练方法(SFT, RLHF, DPO, KTO)
  • Android 编译和使用libheif
  • playwright 学习复仇记-2 Selector选择器定位元素
  • vmware虚拟机移植
  • 多线程 03 实现方式
  • 三维开发中blender建模后如何完美兼容到threejs
  • SAP HANA 上进行 ABAP 开发:简介
  • 设计模式 更新ing
  • 简单快速的上手python