当你的游览器中地址栏输入地址并回车的一瞬间到页面能够展示回来,经历了什么

当你的游览器中地址栏输入地址并回车的一瞬间到页面能够展示回来,经历了什么

在这里插入图片描述

1.负责域名解析的 DNS 服务

DNS(Domain Name System)服务是和 HTTP 协议一样位于应用层的
协议。它提供域名到 IP 地址之间的解析服务。
计算机既可以被赋予 IP 地址,也可以被赋予主机名和域名。比如
www.hackr.jp。
用户通常使用主机名或域名来访问对方的计算机,而不是直接通过 IP
地址访问。因为与 IP 地址的一组纯数字相比,用字母配合数字的表
示形式来指定计算机名更符合人类的记忆习惯。
但要让计算机去理解名称,相对而言就变得困难了。因为计算机更擅长处理一长串数字。为了解决上述的问题,DNS 服务应运而生。DNS 协议提供通过域名查找 IP 地址,或逆向从 IP 地址反查域名的服务。

2.确保可靠性的 TCP 协议

按层次分,TCP 位于传输层,提供可靠的字节流服务。
所谓的字节流服务(Byte Stream Service)是指,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。而可靠的传输服务是指,能够把数据准确可靠地传给对方。一言以蔽之,TCP 协议为了更容易传送大数据才把数据分割,而且 TCP 协议能够确认数据最终是否送达到对方。
确保数据能到达目标
为了准确无误地将数据送达目标处,TCP 协议采用了三次握手(three-way handshaking)策略。用 TCP 协议把数据包送出去后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了 TCP 的标志(flag) —— SYN(synchronize) 和ACK(acknowledgement)。
发送端首先发送一个带 SYN 标志的数据包给对方。接收端收到后,回传一个带有 SYN/ACK 标志的数据包以示传达确认信息。最后,发送端再回传一个带 ACK 标志的数据包,代表“握手”结束。若在握手过程中某个阶段莫名中断,TCP 协议会再次以相同的顺序发送相同的数据包。

3.负责传输的 IP 协议

按层次分,IP(Internet Protocol)网际协议位于网络层。
Internet Protocol 这个名称可能听起来有点夸张,但事实正是如此,因为几乎所有使用网络的系统都会用到 IP 协议。TCP/IP 协议族中的 IP 指的就是网际协议,协议名称中占据了一半位置,其重要性可见一斑。可能有人把“IP”和“IP 地址”搞混,“IP”其实是一种协议的名称。
IP 协议的作用是把各种数据包传送给对方。而要保证确实传送到对方
那里,则需要满足各类条件。其中两个重要的条件是 IP 地址和 MAC地址(Media Access Control Address)。
IP 地址指明了节点被分配到的地址,MAC 地址是指网卡所属的固定
地址。IP 地址可以和 MAC 地址进行配对。IP 地址可变换,但 MAC
地址基本上不会更改。
固定
地址。IP 地址可以和 MAC 地址进行配对。IP 地址可变换,但 MAC
地址基本上不会更改。
使用 ARP 协议凭借 MAC 地址进行通信

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu系统使用Docker搭建Jupyter Notebook并实现无公网ip远程连接

文章目录 1. 选择与拉取镜像2. 创建容器3. 访问Jupyter工作台4. 远程访问Jupyter工作台4.1 内网穿透工具安装4.2 创建远程连接公网地址4.3 使用固定二级子域名地址远程访问 本文主要介绍如何在Ubuntu系统中使用Docker本地部署Jupyter Notebook,并结合cpolar内网穿透…

【前端素材】推荐优质后台管理系统DAdmin平台模板(附源码)

一、需求分析 1、系统定义 后台管理系统是一种用于管理网站、应用程序或系统的管理界面,通常由管理员和工作人员使用。它提供了访问和控制网站或应用程序后台功能的工具和界面,使其能够管理用户、内容、数据和其他各种功能。 2、功能需求 后台管理系…

Python:关于数据服务中的Web API的设计

搭建类似joinquant、tushare类似的私有数据服务应用,有以下一些点需要注意: 需要说明的是,这里讨论的是web api前后端,当然还有其它方案,thrift,grpc等。因为要考虑到一鱼两吃,本文只探讨web ap…

利用Quartz实现复杂的任务调度

第一章:引言 大家好,我是小黑,任务调度,简而言之,就是按照预定计划自动执行任务的过程。不管是数据库备份、报表生成还是发送定时邮件,它们都需要一个可靠的任务调度系统来保证按时完成。 那么&#xff0…

用node或者vscode开启一个简单的本地server服务器,加载html网页

使用Live Server 想要加载本地html页面可以快速能让它在你本地浏览器中打开,可以有好多种方式,如果你有使用vscode,可以安装一个插件:Live Server,然后直接在vscode中直接右键就可以开启这个服务: 安装好之…

几个原创文章自动生成软件推荐

在数字化时代,原创文章的重要性越来越被重视,但是频繁的写作工作却也耗费大量时间和精力。原创文章自动生成软件能够帮助大家快速生成各种类型的原创文章,节省时间和精力。本文将介绍6款不同的原创文章自动生成软件,并介绍一款知名…

02|JVM内存模型

1. JVM整体结构及内存模型 1.1 类装载子系统 负责加载字节码文件并将其转换为可以执行的Java类。类加载器子系统包括三个主要的类加载器:Bootstrap ClassLoader(引导类加载器)、Extension ClassLoader(扩展类加载器)和…

linux nasm汇编中调用printf不报错,但调用scanf报错。抛出了分段错误(核心转储)

当我写了如下汇编时 ; nasm -f elf64 -g -F dwarf charsin.asm ; gcc charsin.o -no-pie -o charsin ; ld -o eatclib eatclib.o ; gdb eatclib[SECTION .data]SPrompt db Enter string data, followed by Enter: ,0IPrompt db Enter an integer value, followed by Enter: ,1…

人工智能应用工程师职业技能提升如何考取,需要具备怎样的技能?

人工智能应用工程师是能够利用人工智能相关技术进行应用研发,并开展各类工作的从业人员统称。 人工智能应用工程师考试是对人工智能领域从业者的全面认证,共分为初级、中级、高级三个等级,分别对应了人工智能应用工程师未来发展的三个大致方向…

本地写的Bash脚本,Linux端运行报错:/bin/bash^M: bad interpreter: No such file or directory

背景 在本地写了个Bash Shell脚本,但上传到Linux端后加完权限执行时报错: (脚本名:script.sh) -bash: ./script.sh: /bin/bash^M: bad interpreter: No such file or directory 分析 这个错误通常是由于脚本文件的行…

SSL证书快过期了怎么办?

SSL(Secure Sockets Layer)证书是保障网站安全、确保用户数据加密传输的关键元素。当SSL证书接近其有效期限时,及时更换新证书至关重要,以免影响网站的安全性和用户体验。下面是一份详尽的指南,指导您分步有序地完成SS…

【笔记】:更方便的将一个List中的数据传入另一个List中,避免多重循环

这里是 simpleInfoList 集合&#xff0c;记为集合A&#xff08;传值对象&#xff09; List<CourseSimpleInfoDTO> simpleInfoList courseClient.getSimpleInfoList(courseIds);if(simpleInfoListnull){throw new BizIllegalException("当前课程不存在!");}这…