浏览器输入URL后的过程

news2024/7/31 4:41:10

总体流程:

1. 用户输入URL并按下回车

当用户在浏览器的地址栏中输入一个 URL 并按下回车,浏览器开始解析用户输入并判断这是一个合法的 URL。

2. DNS 解析

  1. 缓存查找:浏览器首先查看本地 DNS 缓存中是否有对应的 IP,如果有则直接使用。
  2. 主机文件查找:如果本地缓存没有找到,浏览器则会查询操作系统的 hosts 文件。
  3. 系统缓存查找:接着浏览器会查询系统缓存中的 DNS 记录。
  4. 路由器缓存查找:系统缓存没有找到时,会向路由器请求,查看路由器缓存。
  5. ISP DNS 服务器查找:如果路由器缓存也没有找到,最终请求会被发送到 ISP(互联网服务提供商)的 DNS 服务器。
  6. 递归查询:如果 ISP DNS 服务器也没有找到对应记录,则会进行递归查询,即向根 DNS 服务器、顶级域名服务器等逐步查询。

3. 建立 TCP 连接

获得 IP 地址后,基于三次握手(TCP 三次握手过程),浏览器与服务器建立 TCP 连接,以确保通信的可靠性。

4. 发送 HTTP 请求

TCP 连接建立成功后,浏览器会发送一个 HTTP 请求给服务器,这个请求包含了 URL、请求方法(GET、POST 等)、请求头等信息。

5.1 服务器处理请求

服务器接收到 HTTP 请求后,会根据请求路径和参数处理请求,并生成 HTTP 响应。这个过程可能涉及:

  • 查询数据库
  • 调用内部服务或第三方 API
  • 读取文件系统的静态资源(如 HTML 文件、图片、CSS 文件等)

5.2. 服务器返回 HTTP 响应

服务器将处理结果封装成 HTTP 响应,返回给浏览器。HTTP 响应包括状态码、响应头和响应体。

6. 浏览器开始处理 HTTP 响应

浏览器接收到 HTTP 响应后,将响应内容交给渲染引擎进行处理:

7. 关闭TCP连接(四次挥手)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分布式系统—存储ceph部署

目录 一、存储概述 1 单机存储设备 2 单机存储的问题 3 商业存储解决方案 4 分布式存储 二、ceph概述 1 ceph优点 2 ceph架构 3 ceph核心组件 4 OSD存储后端 5 ceph数据存储过程 6 ceph版本发行生命周期 7 ceph集群部署 三、基于 ceph-deploy 部署 Ceph 集群 1 …

多位冒充者曝光!全域外卖官方到底是谁?

当前,全域外卖的热度持续攀升,不少创业者在寻找入局途径的同时,也开始打听与全域外卖官方有关的各种信息。其中,以全域外卖官方是谁为代表的身份类信息更是成为了多个创业者群内的热议问题。 而就目前的讨论情况来看,虽…

hyperworks软件许可优化解决方案

Hyperworks软件介绍 Altair 仿真驱动设计改变了产品开发,使工程师能够减少设计迭代和原型测试。提升科学计算能力扩大了应用分析的机会,使大型设计研究能够在限定的项目时间完成。现在,人工智能在工程领域的应用再次改变了产品开发。基于物理…

晋升业内新宠儿,MoE模型给了AI行业两条关键出路

文 | 智能相对论 作者 | 陈泊丞 今年以来,MoE模型成了AI行业的新宠儿。 一方面,越来越多的厂商在自家的闭源模型上采用了MoE架构。在海外,OpenAI的GPT-4、谷歌的Gemini、Mistral AI的Mistral、xAI的Grok-1等主流大模型都采用了MoE架构。 …

回收站清空了怎么恢复回来?8个数据恢复方法汇总分享!

在日常工作中,我们常常会遇到一个令人头痛的问题:回收站清空了怎么恢复回来?这种情况其实比想象中更常见。有时在整理桌面时可能会不小心彻底清理文件,或者误开启了回收站的自动清理功能,甚至可能因为病毒或bug而意外丢…

dxf数据结构

DXF(Drawing Exchange Format,绘图交换格式)是Autodesk公司开发的一种CAD(计算机辅助设计)文件格式,用于实现AutoCAD与其他软件之间的CAD数据交换。DXF格式文件是一种开放的矢量数据格式,具有多…

34 超级数据查看器 关联图片

超级数据查看器app(excel工具,数据库软件,表格app) 关联图片讲解 点击 打开该讲的视频 点击访问app下载页面 豌豆荚 下载地址 大家好,今天我们讲一下超级数据查看器的关联图片功能 这个功能能让表中的每一条信息&…

【区块链 + 智慧政务】城市大脑数据监管平台 | FISCO BCOS应用案例

为了实现城市的智能化管理和服务,智慧城市建设需要将大量的公共数据和社会数据汇集到城市大脑数据中台。 通过汇聚各种类型的数据,城市管理者可以实时了解城市的运行状态和居民的需求,从而更好地进行城市规划、 资源分配和公共服务的提供。 …

Figma中文网?比Figma更懂你的神秘网站!

Figma奠定了在线UI设计工具的基本形式,许多国内设计师都在使用Figma。在本文中,我们将解密国内大型设计师使用的Figma灵魂合作伙伴,被称为Figma中文网络的即时设计资源社区。Figma中文网络UI设计工具的魅力是什么?让我们一起看看吧…

uniapp小程序上传文件webapi后端项目asp.net

需求 小程序需要上传用户相册图片或拍摄的照片到后端服务器 uniapp官方处理小程序文件方法 选择文件方法:uni.chooseMedia uni-app官网uni-app,uniCloud,serverless,uni.chooseVideo(OBJECT),chooseVideo HarmonyOS 兼容性,uni.chooseMedia(OBJECT),uni.saveVid…

EasyExcel批量读取Excel文件数据导入到MySQL表中

1、EasyExcel简介 官网&#xff1a;EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel 官网 2、代码实战 首先引入jar包 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.3.2</v…

Facebook的未来蓝图:从元宇宙到虚拟现实的跨越

随着科技的不断演进和社会的数字化转型&#xff0c;虚拟现实&#xff08;VR&#xff09;和增强现实&#xff08;AR&#xff09;作为下一代计算平台正逐渐走进人们的视野。作为全球领先的科技公司之一&#xff0c;Facebook正在积极探索并推动这一领域的发展&#xff0c;以实现其…

【linux】服务器卸载cuda

【linux】服务器卸载cuda 文章目录 【linux】服务器卸载cuda1、查找已安装的 CUDA 包&#xff1a;2、卸载 CUDA&#xff1a;3、删除残留文件4、更新系统的包索引&#xff1a;5、检查是否卸载干净&#xff1a; 1、查找已安装的 CUDA 包&#xff1a; dpkg -l | grep cuda2、卸载…

python用selenium网页模拟时无法定位元素解决方法1

进行网页模拟时&#xff0c;有时我们明明可以复制出元素的xpath&#xff0c;但是用selenium的xpath click无法点击到元素。这种情况有几种原因&#xff0c;本文写其中一种——iframe 比如下图网址&#xff0c;第二行出现iframe&#xff0c;则往下的行内元素都会定位不到&#…

07-7.5.1 散列表的基本概念

&#x1f44b; Hi, I’m Beast Cheng &#x1f440; I’m interested in photography, hiking, landscape… &#x1f331; I’m currently learning python, javascript, kotlin… &#x1f4eb; How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以…

并查集+链表,CF 1131F - Asya And Kittens

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1131F - Asya And Kittens 二、解题报告 1、思路分析 本质是拼积木游戏 初始有n块积木&#xff0c;每次两块首尾拼成一块就行&#xff0c;拼接n - 1 次最后会得到一个大积木&#xff0c;我们从左往右输出组…

UDP网络通信(发送端+接收端)实例 —— Python

简介 在网络通信编程中&#xff0c;用的最多的就是UDP和TCP通信了&#xff0c;原理这里就不分析了&#xff0c;网上介绍也很多&#xff0c;这里简单列举一下各自的优缺点和使用场景 通信方式优点缺点适用场景UDP及时性好&#xff0c;快速视网络情况&#xff0c;存在丢包 与嵌入…

dolphinScheduler + hive + datax报错记录

1、参数错误 报错信息 [INFO] 2024-04-11 06:43:18.386 - [taskAppIdTASK-29-3301-84461]:[498] - after replace sql , preparing : insertoverwrite table mis_month partition (dt) select nvl(sl.slid , ) as id,--水量 IDnvl(sl.hh …

【CORS 报错】跨域请求问题:CORS 多种环境下的解决方案

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 一、CORS错误的常见原因二、解决方案1. Vue3 Vite项目下的解决方案创建Vue3 Vite项目配置Vite的代理发送请求 2. jQuery项目下的解决方案使用CORS请求头使用JSONP 3. 其他环境下的解决方案使用服务器端代理设置CORS头使用…