面试必学:输入 URL到页面的全过程-----五步完成、简单明了

news2025/1/17 4:47:15

目录

一、应用层解析

二、传输层连接

三、服务区处理

四、浏览器处理

五、断开


一、应用层解析

进行DNS解析:即将域名地址解析成 IP 地址

  • 网络设备是通过 IP地址,作为身份标识

  • 但是 IP地址不好记,所以很多时候就用一串单词 来进行表示。

  • DNS就是域名和IP地址互相映射的一个分布式数据库,通过对网页进行DNS解析,我们可以找到其域名

生成HTTP请求报文

  • 起始行:请求方法URI协议/版本(GET Gitee - 基于 Git 的代码托管和研发协作平台 HTTP/1.1)

  • 首部:包括域名host、keep-alive、User-Agent、Accept-Encoding、Accept-Language、Cookie等信息。请求头(Request Header)请求头包含许多有关的客户端环境和请求正文的有用信息。例如,请求头可以声明浏览器所用的语言,请求正文的长度等。

  • 请求正文:主体内容即要传输的内容。如果是get请求,则主体内容为空

  • 请求头和请求正文之间是一个空行,这个行非常重要,它表示请求头已经结束,接下来的是请求正文。请求正文中可以包含客户提交的查询字符串信息:

二、传输层连接

建立TCP连接-三次握手

  • 客户端先向服务器发送一个 syn 同步报文段、

  • 服务器收到后 返回一个 syn 和 ack

  • 客户端返回一个ack确认报文段

  • 经过上面 TCP 连接之后,客户端就可以向服务器发送请求了

三、服务区处理

服务器收到客户端的请求,服务器会进行响应,返回一个 HTTP响应报文

四、浏览器处理

浏览器收到 HTTP响应报文,就可以根据响应报文中的内容,对浏览器的页面进行渲染。

这时候我们的客户端浏览器页面就会出现最终页面的样子

五、断开

当数据传送完毕,需要断开 TCP连接,此时发起 TCP四次挥手。

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

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

相关文章

ipv6地址概述——深入讲解ipv6地址

作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.ipv6地址深入了解 1.ipv6地址表示 ①冒号十六进制表示法&am…

计算机组成原理-中央处理器详细讲解(持续更新中)

CPU的功能和基本结构 CPU由运算器和控制器两大部分组成 CPU的功能 指令控制。完成取指令、分析指令和执行指令的操作,即程序的顺序控制。操作控制。一条指令的功能往往是由若干操作信号的组成来实现的。CPU管理并产生由内存取出的每条指令的操作信号,把…

FPGA学习笔记(八)同步/异步信号的打拍分析及处理

系列文章目录 一、FPGA学习笔记(一)入门背景、软件及时钟约束 二、FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三、FPGA学习笔记(三) 流水灯入门FPGA设计流程 四、FPGA学习笔记(四&…

花十分钟用Python写了个蹭WiFi的软件,于是获取了隔壁单身妹子的WiFi试了试效果,居然发现...

Python写一个免费蹭WiFi的神器前因后果注意事项主要代码效果展示怎么学好Python?前因后果 昨晚十点学姐跟我发消息说她家的WiFi 不知道为什么今天就很慢,让我赶紧去她家帮她看看,当时我就怒了,这大晚上的我都要睡觉了还给我整这破…

Qt翻译(本地化)坑总结

文章目录坑1:无法生成ts文件坑2:ts文件的中文乱码坑3:不能直接翻译全局变量、静态变量、符号常量字符串官方文档 Internationalization with Qt 贴一个比较好的总结 Qt中,软件多语言国际化翻译的方法与步骤 坑1:无法生…

[Redis] Redis实战

✨✨个人主页:沫洺的主页 📚📚系列专栏: 📖 JavaWeb专栏📖 JavaSE专栏 📖 Java基础专栏📖vue3专栏 📖MyBatis专栏📖Spring专栏📖SpringMVC专栏📖SpringBoot专…

[附源码]java毕业设计实践教学管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Echarts:好玩的timeline

Echarts是一个开源的可视化图表库,支持丰富的图表,官网中还有大量示例可以选择使用、参考。 其中比较有趣的一个特性是可以把数据随时间变化而变化,其效果与一些视频中比较不同国家的国力随时间变化的排名变化的效果相似。 接下啦我们就实现…

linux下golang环境安装教程(学习笔记)

linux下golang环境安装教程(学习笔记) SSH远程登录linux服务器 安装 mercurial包 [rootlocalhost ~]# yum install mercurial 安装git包 [rootlocalhost ~]# yum install git 安装gcc【一般自带安装好了的】 [rootlocalhost ~]# yum install gcc …

黑*头条_第3章_文章详情前后端成形记

黑*头条_第3章_文章详情前后端成形记 文章目录黑*头条_第3章_文章详情前后端成形记文章详情前后端成形记1 分布式主键封装1.1 依赖导入1.2 配置文件1.3 枚举封装1.4 序列封装1.5 Client封装1.6 Config封装1.7 Sequences封装1.8 使用案例1.9 扩展自增表2 App文章详情2.1 功能需求…

Spring IOC源码:registerBeanPostProcessors 详解

前言 上篇文章介绍了后置处理器BeanFactoryPostProcessor的注册、实例化及执行操作,这节介绍一下另外一个后置处理器BeanPostProcessor。前者是针对BeanFactory工厂对象进行增上改查操作,在bean实例化之前,我们可以修改其定义。后者是对实例…

电脑重装系统蓝屏是什么原因

​电脑蓝屏是由于系统故障、致命的系统错误或系统崩溃而导致的现象,要想修复电脑蓝屏,关键是找出原因所在。为此,下面小编就给大家整理电脑蓝屏是什么原因。 原因1、虚拟内存不足造成系统多任务运算错误: 虚拟内存是Windows系统所…

(免费分享)基于springboot健康运动-带论文

源码获取:关注文末gongzhonghao,输入013领取下载链接 ​开发工具:IDEA, mysql5.7 技术:springbootmybatis-plus 健康管理包括:健康体检、健康评估、健康促进和健康服务四大部分。具体来说健康管理就是由健康管理顾问…

13.4 GAS与攻击

目录1. 由GA砍出的第一刀2. 挥剑时的命中检测3. 完善:UI显示当前血量参考:1. 由GA砍出的第一刀 有了前面章节的经验,我们可以很容易创建一个专用于攻击的GA: 其中PlayMontageAndWait任务节点负责攻击动画及相应回调的绑定。 但是…

向毕业妥协系列之深度学习笔记(二)深层神经网络

目录 一.深层神经网络 二.前向和反向传播 三.深层网络中的前向传播 四.核对矩阵的维数 五.为什么使用深层表示 六.参数VS超参数 一.深层神经网络 就是好多层。 二.前向和反向传播 三.深层网络中的前向传播 四.核对矩阵的维数 略 五.为什么使用深层表示 我们都知道深度…

在淘宝开店后,如何发布宝贝?从哪发布?

近期,有几位在淘宝新开店的店主,来向我们咨询了一些问题,总结来说可以将问题归为一个:在淘宝开店后,怎样上传宝贝?从哪上传?下面,小编来给大家简单的说一下发布宝贝时要注意什么&…

AD域 - 自动为域颁发证书

自动为域用户颁发数字证书 ———————————— 进入CA证书颁发机构 在“证书颁发机构”窗口中,鼠标右键点击“证书模板”,在弹出的快捷菜单中点击“管理” 在“证书模板控制台”窗口中,鼠标右键点击右侧列表中的“用户”,在弹出的快捷菜单中点击“复制模板

【Redis】Redis数据库的实现原理

在之前的文章我们介绍过,Redis服务器在启动之初,会初始化RedisServer的实例,在这个实例中存在很多重要的属性结构,同理本篇博客中介绍的数据库实现原理也会和其中的某些属性相关,我们继续看一下吧。 1.服务器和客户端…

【设计模式】 - 创建者模式 - 原型模式

目录标题1. 原型模式1.1 概述1.2 结构1.3 实现1.4 浅克隆Demo1:基本类型Demo2:引用类型浅克隆总结:1.5 深克隆实现方式1:浅克隆嵌套1. Address类实现Cloneable接口,重写clone方法;2. 在Customer类的clone方法中调用Add…

[附源码]SSM计算机毕业设计智慧教室预约JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…