【面试题】在浏览器地址栏输入URL后会发生什么

news2024/11/18 5:49:10

1. 地址栏输入后的本地操作

当我们在浏览器的地址栏中,输入xxx内容后,浏览器的进程首先会判断输入的内容:

  • 如果是普通的字符,那浏览器会使用默认的搜索引擎去对于输入的xxx生成URL。
  • 如若输入的是网址,那浏览器会拼接协议名形成完整的URL。

当按下回车后,浏览器进程会将生成的完整URL发送到网络进程:

在这里插入图片描述

当网络进程收到传过来的URL后,首先并不会直接发出网络请求,而是会先查询本地缓存:

2. 到达后端服务器之前的操作

3. 到达后端服务器之后的操作

4. 服务器的响应操作

5. 总结

①用户在地址栏输入内容,浏览器判断后生成相应的URL并传给网络进程。
②网络进程先查询本地缓存,没有则解析URL并向DNS发送请求,得到IP。
③网络进程先与目标服务器进行TCP、TLS多次握手,建立TCP、TLS安全连接。
④紧接着组装请求报文,并由各个分层对数据进行封装,最终转为0、1格式。
⑤基于建立好的连接,利用物理介质传输数据,通过路由器控制数据的传输方向。
⑥请求会先去到CDN查询是否有缓存的内容,如果没有则继续向下请求。
⑦请求来到LVS后被转发到Nginx,再由Nginx转发到Gateway网关。
⑧Gateway网关根据配置好的API分发规则,将请求分发到具体服务。
⑨紧接着再从Nacos注册中心内,查询出该服务的具体服务实例IP。
⑩请求来到具体的服务器后,先通过端口号找到具体的WEB服务进程Tomcat。
⑪Tomcat基于SpringMVC的工作流程为请求定位到具体的Java后端方法。
⑫线程执行Java方法时,先去Redis中查询是否有数据,没有则查询MySQL。
⑬查询DB前先通过MyBatis生成SQL语句,然后再通过DB连接执行SQL。
⑭请求根据已配置的数据源地址,来到MySQL并执行SQL语句,从而获得数据。
⑮经过报文组装、数据封装、请求转发等操作,向客户端响应数据(原路返回)。
⑯应答报文经物理介质传输后,最终抵达客户端网络进程(可能会将数据加入缓存)。
⑰网络进程将数据交给浏览器之后,根据情况准备做TCP四次挥手,断开连接。
⑱浏览器创建渲染子进程,然后根据数据生成渲染树,最后绘制并显示页面。

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

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

相关文章

StarRocks实战——滴滴OLAP的技术实践与发展方向

原文大佬的这篇StarRocks实践文章整体写的很深入,介绍了StarRocks数仓架构设计、物化视图加速实时看板、全局字典精确去重等内容,这里直接摘抄下来用作学习和知识沉淀。 目录 一、背景介绍 1.1 滴滴OLAP的发展历程 1.2 OLAP引擎存在的痛点 1.2.1 运维…

在 Jupyter Notebook 中查看所使用的 Python 版本和 Python 解释器路径

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 我们在做 Python 开发时,有时在我们的服务器上可能安装了多个 Python 版本。 使用 conda info --envs 可以列出所有的 conda 环境。当在 Linux 服务器上使用 which python 命令时&#xff0…

【数据结构与算法】回溯法解题20240229

【数据结构与算法】回溯法解题20240229 一、46. 全排列1、以[1,2,3]为例,抽象成树形结构2、回溯三部曲 二、LCR 084. 全排列 II1、以[1,1,2]为例,抽象成树形结构 三、面试题 08.07. 无重复字符串的排列组合四、面试题 08.08. 有重复字符串的排列组合 一、…

代码随想录-力扣刷题-总结笔记01

代码随想录:代码随想录力扣:力扣 (LeetCode) 全球极客挚爱的技术成长平台 目录 01、代码随想录 00、琐碎知识点 01、数组 02、链表 03、哈希表 04、字符串 05、双指针法 06、栈与队列 6.1、栈 6.2、队列 07、二叉树 7.1、前中后序-递归遍历 …

UTONMOS元宇宙游戏发展趋势是什么?

UTONMOS元宇宙游戏的发展趋势包括以下几个方面: 更加真实的体验:随着技术的进步,UTONMOS元宇宙游戏将提供更加逼真的视觉、听觉和触觉体验,让玩家更加身临其境。 社交互动:UTONMOS元宇宙游戏将越来越注重社交互动&am…

Premiere水墨风格婚纱照片婚礼视频模板|PR婚庆后期剪辑模板

时尚大气水墨风格婚纱照片展示,婚礼视频制作PR模板,婚庆后期剪辑模板MOGRT。 主要特点:高清(19201080)分辨率/30帧/秒,Premiere Pro 2022或更高版本软件,易于定制,持续时间00:50秒&a…

猫头虎分享已解决Bug || 虚拟网络问题(Virtual Network Issue):VirtualNetworkError, VNetFailure

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

IPD(集成产品开发)—核心思想

企业发展到一定阶段就会遇到管理瓶颈,IPD流程是一种高度结构化的产品开发流程,它集成了业界很多优秀的产品开发方法论,像搭积木一样的组合成一种非常有效的流程。如果我们能根据企业的规模和行业特点,对全流程的IPD进行合适的裁剪…

陪诊小程序:温暖您的就医之路,让关怀触手可及

随着社会的进步和科技的发展,人们对于医疗健康的需求日益增长。然而,在繁忙的生活节奏中,许多人在面对就医时却面临着无人陪伴的困境。为了解决这一问题,陪诊小程序应运而生。 陪诊小程序是一种便捷、高效、人性化的医疗服务应用…

Python正则表达式:从基础到高级应用的全面总结与实战【第103篇—JSON模块】

Python正则表达式:从基础到高级应用的全面总结与实战 正则表达式是一种强大的文本匹配和处理工具,广泛应用于文本处理、数据抽取、表单验证等领域。本文将从正则表达式的基础知识出发,逐步深入,最终结合代码实战,带你…

【代码随想录python笔记整理】第十四课 · 链表的基础操作 2

前言:本笔记仅仅只是对内容的整理和自行消化,并不是完整内容,如有侵权,联系立删。 一、分析题目要求 在前面一课中,我们学习了链表的创建以及新元素的插入,并且我们学会了打印链表中的元素。这节课我们依托上节课的基础…

DataGrip 2023:让数据库开发变得更简单、更高效 mac/win版

JetBrains DataGrip 2023是一款功能强大的数据库IDE,专为数据库开发和管理而设计。通过DataGrip,您可以连接到各种关系型数据库管理系统(RDBMS),并使用其提供的一组工具来查询、管理、编辑和开发数据库。 DataGrip 2023 软件获取 DataGrip …

2024深度学习主流框架对比

tensorFlow 是最受欢迎和广泛使用的深度学习框架之一,目前在github的start数为181k。 TensorFlow是一个由Google Brain团队开发的开源深度学习框架。它允许开发者创建多种机器学习模型,包括卷积神经网络、循环神经网络和深度神经网络等,该框架…

如何在服务器正确读取resources目录下的文件

1、错误代码 InputStream is new BufferedInputStream(new ClassPathResource("fonts/SourceHanSans-Normal.ttc").getInputStream());文件位置 2、正确代码 ClassPathResource classPathResource new ClassPathResource("fonts/SourceHanSans-Normal.ttc…

Python语言基础与应用-北京大学-陈斌-P29-28-计算和控制流:控制流:上机:基本计算程序-给定y和m,计算y年m月有几天?-上机代码

Python语言基础与应用-北京大学-陈斌-P29-28-计算和控制流:控制流:上机:基本计算程序-给定y和m,计算y年m月有几天?-上机代码 # 给定y和m,计算y年m月有几天? run_y_m_day { # 把闰年的每月天数存入字典 1:31, 2:29, …

导览系统厂家|景区电子导览|手绘地图|AR导览|语音导览系统

随着元宇宙、VR、AR等新技术的快速发展,旅游服务也更加多元化、智能化。景区导览系统作为旅游服务的重要组成部分,其形式更加多元化智能化。智能导览系统作为一种新的服务方式,能够为游客提供更加便捷的旅游服务和游览体验,也逐渐…

django运行项目NameError: name ‘_mysql‘ is not defined

Django运行项目时报错 Django运行项目时报错NameError: name ‘_mysql’ is not defined 安装的mysqlclient 是 2.1.1版本 切换成mysqlclient-2.1.0 运行,解决

高并发数据采集:Ebay商家信息多进程爬虫的进阶实践

背景 Ebay作为全球最大的电子商务平台之一,其商家信息包含丰富的市场洞察。然而,要高效获取这些信息,就需要利用先进的技术手段。本文将深入探讨如何通过并发加速技术,实现Ebay商家信息多进程爬虫的最佳实践方法,并附…

基于Redo log Undo log的MySQL的崩溃恢复

基于Redo log & Undo log的MySQL的崩溃恢复 Redo log Undo log Redo log 重做日志,记录,修改过的数据 Undo log 回滚日志,记录修改之前的数据 两个我不做详细的介绍了,redo log就是记录哪些地方被修改了 undo log是记录修改之前我们的数据长什么样 更新流程 我们来捋一…

springboot-基础-thymeleaf配置+YAML语法

备份笔记。所有代码都是2019年测试通过的,如有问题请自行搜索解决! 目录 配置thymeleafthymeleaf举例参数设置yaml基础知识YAML语法报错:Expecting a Mapping node but got 其他语法 spring boot不推荐使用jsp。thymeleaf是一个XML/XHTML/HTM…