[计算机网络] 当输入网址到网页

news2025/1/12 22:52:54

HTTP

首先,对URL进行解析,URL包含了Web服务器和对应的文件(文件路径)

        URL是请求服务器中的文件资源

通过Web服务器和对应文件来生产HTTP包(超文本传输协议)

DNS

根据域名查询对应的IP地址

域名的层级

        根DNS服务器

        顶级域DNS服务器

        权威域DNS服务器

解析域名的流程

       客户端发送DNS请求(关于这个域名),发给本地DNS服务器

        本地DNS进行缓存查询,查询到即返回ip地址;查询不到,则本地DNS向根DNS服务器请求

        根DNS服务器会根据域名给本地DNS发送对应的顶级域DNS服务器地址

        本地DNS向顶级域DNS服务器发送请求,顶级域DNS会发送对应的权威域DNS地址

        权威域DNS会查询对应的ip地址返回本地DNS服务器

        本地DNS返回对应ip地址给客户端,从而建立连接

 

TCP

HTTP是基于TCP传输(传输层给应用层提供网络支持)

端口和目标端口:用于区分应用

序号:解决乱序的问题;窗口大小:流量控制(对发送方);拥堵控制(网络拥堵情况)

进行三次握手:确保双方都有发送和接收能力,并且为同一次连接

根据MSS长度来 切分 HTTP数据包大小

IP

把TCP数据包包装成网络包进行网络层发送

源IP地址 和 目标IP地址

        源地址:客户端地址

        目标地址:DNS解析出来的web服务器ip地址

MAC

MAC头部为 以太网使用的头部

发送方的MAC地址 和 接收方的MAC地址 用于两点传输

        发送方MAC:网卡获取

        接收方MAC:通过ARP协议

ARP协议:进行广播的方式;并且进行缓存

网卡

MAC包封装完以后的数据包 只是 二进制数字

通过网卡把数字信息转换成电信号

交换机

用于连接多台计算机或网络设备,形成局域网

局域网内部设备之间的通信

本地内部设备之间的发送

路由器

用于连接多个网络,如多个局域网或广域网

不同网络之间的连接和数据传输

到服务器端后再进行层层解刨;之后把HTTP响应请求进行包装(TCP, IP, MAC, 网卡)

发送给交换机,再发给路由器;客户端再进行解剖,得到响应报文,进行渲染

如果需要断开连接则通过四次挥手,来断开连接

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

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

相关文章

基于深度学习的电动自行车头盔佩戴检测系统

文章目录 1. 文档说明2. 运行环境说明2.1 硬件配置2.2 软件配置2.3 程序依赖库 3. 基本环境配置3.1 软件安装3.1.1 集成开发环境安装与配置3.1.2 数据库安装与配置3.1.3 编程语言安装3.1.4 CUDA和cuDNN安装与配置3.1.5 机器学习库安装 3.2 依赖库安装 4. 运行程序资源下载地 1.…

vue vue3 日期选择的组件,封装组件

一、背景 基于element日期选择组件,自行封装了一个组件。 以下是达到的效果: 1.选择年,日期选择组件默认填充是:当时的年; 2.选择月,日期选择组件默认填充的是:当时的年月; 3.选择日…

从人机界面设计黄金三法则视角看 ChatGPT 的界面设计的“好”与“坏”

热门文章推荐: (1)《为什么很多人工作 3 年 却只有 1 年经验?》(2)《一文掌握大模型提示词技巧:从战略到战术巧》(3)《AI 时代,程序员的出路在何方&#xff1…

window安装c环境(window安装GCC)

1.下载mingw 地址:MinGW - Minimalist GNU for Windows - Browse Files at SourceForge.net 2.安装mingw-get-setup.exe文件: 安装完成之后显示: 3.勾选需要安装的内容,然后进行安装或按第5步使用命令安装,推荐使用5步…

华为USG6000v

1、安全区域 一个及或多个接口的集合 默认的安全区域 Trust --- 优先级85,一般连接内网 Untrust --- 优先级5, 一般连接外网 Dmz --- 优先级50,一般连接服务器、 Local --- 优先级100,防火墙接口所在区的区域 2…

在Ubuntu系统下连接远程Ubuntu服务器

本篇文章介绍,如何在Ubuntu系统下连接远程Ubuntu系统并传输文件。 一. 连接远程Ubuntu服务器。 1. 打开命令行,输入 : sudo apt-get update , 对系统进行更新。 2. 安装 OpenSSH Server,输入 : sudo apt-get insta…

mysql 运算符 语句 字符集 校队集

mysql 运算符 使用select语句可以输出运算的结果 mysql标识符不区分大小写 算数运算符 1./除法 得到的结果是一个小数 %是整数,省略小数 2、除以0不会报错,得到的结果是 null 3.数宇和字符串做加法运算,并不会拼接 比较运算符 1.mysql里面的=是比较运算符,而不是赋值运算…

深入解析template,掌握C++模板的精髓!

掌握C模板(template)的优雅之道! 一、什么是模板?二、模板如何工作?三、C 中的模板类型3.1、 类模板3.2、 函数模板 四、模板参数推导4.1、模板参数推导示例4.2、函数模板参数推导4.3、类模板参数推导(C17 …

《C语言深度解剖》(4):深入理解一维数组和二维数组

🤡博客主页:醉竺 🥰本文专栏:《C语言深度解剖》 😻欢迎关注:感谢大家的点赞评论关注,祝您学有所成! ✨✨💜💛想要学习更多数据结构与算法点击专栏链接查看&am…

Blender怎么样启动默认移动和Cavity效果

在使用Blender的过程中,有一些特殊的技巧很重要。 比如默认地设置blender打开时,就是移动物体,这样怎么样设置的呢? 需要在界面里打开下面的菜单: 这样就找到默认设置的地方,把下面的移动勾选起来,这样点…

IEEE Robotics and Automation Letters(RAL)论文模板及投稿须知

一、背景 IEEE Robotics and Automation Letters(RAL)期刊自2015年6月1日创刊以来,得到了机器人领域许多学术大牛的青睐,因其周期短,论文质量高,许多优秀的成果都会选择发表在RAL期刊上。下面介绍一下RAL论…

如何从零基础进入IT行业

目录 前言1 确定适合的方向1.1 前端开发1.2 后端开发1.3 数据分析1.4 软件测试1.5 产品管理1.6 网络与系统管理 2 制定学习计划2.1 学习基础知识2.2 选择合适的学习资源2.3 参加课程或培训2.4 制定学习计划和目标 3 实践项目和参与社区3.1 构建个人项目3.2 参与开源社区3.3 寻找…

回顾2D绘图的数学知识

本篇旨在帮助开发人员回顾在2D图形编程中可能会涉及到的数学知识。 1. 矩形 矩形面积 S 长 ∗ 宽 S 长 * 宽 S长∗宽 矩形周长 C 2 ∗ ( 长 宽 ) C 2 * ( 长 宽) C2∗(长宽) 2. 两点间的距离 在直角坐标系中,设两个点A、B以及坐标分别为 A ( x 1 , y 1…

Redis中的集群(一)

集群 概述 Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能 节点 一个Redis集群通常由多个节点(node)组成,在刚开始的时候,每个节点都是相互独立的,它们都…

X86汇编速成

平时用的电脑都是X86的,但是现在大家都在搞RISC-V,计组也都开始以RISC-V作为示例,所以专门回头来补一下X86的汇编,方便平时使用。 寄存器register X86_64中一共有16个64位的通用寄存器,分别为: RAX, RBX,…

vmware和ubuntu的问题与解决

1.问题与对策 最近使用vmware安装ubuntu16和ubuntu20,遇到了挺多的问题,如下 ubuntu在用过多次后,重启后登录用户名后会出现花屏的现象。 解决方案如下 在键盘上同时按键:Ctrl Alt F4,进入命令行模式,…

Ubuntu 20.04.06 PCL C++学习记录(十六)

[TOC]PCL中点云分割模块的学习 学习背景 参考书籍&#xff1a;《点云库PCL从入门到精通》以及官方代码PCL官方代码链接,&#xff0c;PCL版本为1.10.0&#xff0c;CMake版本为3.16 学习内容 用一组点云数据做简单的平面的分割 源代码及所用函数 源代码 #include<iostr…

C++设计模式:观察者模式(三)

1、定义与动机 观察者模式定义&#xff1a;定义对象间的一种1对多&#xff08;变化&#xff09;的依赖关系&#xff0c;以便当一个对象&#xff08;Subject&#xff09;的状态发生比改变时&#xff0c;所有依赖于它的对象都得到通知并且自动更新 再软件构建过程中&#xff0c…

STM32一个地址未对齐引起的 HardFault 异常

1. 概述 客户在使用 STM32G070 的时候&#xff0c;KEIL MDK 为编译工具&#xff0c;当编译优化选项设置为Level0 的时候&#xff0c;程序会出现 Hard Fault 异常&#xff0c;而当编译优化选项设置为 Level1 的时候&#xff0c;则程序运行正常。表面上看&#xff0c;这似乎是 K…

算法打卡day38|动态规划篇06| 完全背包理论基础|Leetcode 518.零钱兑换II、377. 组合总和 Ⅳ

目录 完全背包理论基础 完全背包问题描述 完全背包解法 算法题 Leetcode 518.零钱兑换II 个人思路 解法 动态规划 Leetcode 377. 组合总和 Ⅳ 个人思路 解法 动态规划 完全背包理论基础 完全背包问题描述 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是…