✊构建浏览器工作原理知识体系(网络协议篇)

🌻 前言

书接上回~

系列文章目录:

  1. # ✊构建浏览器工作原理知识体系(开篇)
  2. # ✊构建浏览器工作原理知识体系(浏览器内核篇)
  3. # ✊构建浏览器工作原理知识体系(网络协议篇)
  4. ✊构建浏览器工作原理知识体系(网页加载超详细全过程篇)

为什么你觉得偶尔看浏览器的工作原理,但总是忘呢😵‍💫,因为你没有形成一个完整的知识网络,你的记忆是碎片化的。正如人的神经网络,只有当你的记忆相互依赖,相互链接,才能形成长期稳定的记忆。

所以本系列文章我将用一条知识线将浏览器工作原理的知识串联起来,因为本文的目的是为了帮助大家建立浏览器基础的思维树,所以很多细节点不做过多阐述,先有了树,后面你在上面伸展枝叶就会发现清晰明了很多。欢迎点赞支持或评论指正。

🪴一、网络进程的工作

网络进程是浏览器的一个重要组成部分,主要负责处理网络相关的任务和功能。其工作主要包括以下几个方面:

  1. 网络请求处理: 当用户在浏览器中输入网址、点击链接或提交表单时,网络进程负责处理这些网络请求。它通过与服务器通信,获取请求的网页或资源,并将其传输到渲染进程以供显示。
  2. HTTP 缓存管理: 网络进程负责管理浏览器的 HTTP 缓存,包括缓存的读取、写入、更新和失效等操作。通过合理地利用缓存机制,可以减少对服务器的请求次数,提高页面加载速度和用户体验。
  3. 网络安全保障: 网络进程也负责处理浏览器的网络安全功能,包括对 HTTPS 连接的管理、证书验证、安全策略的执行等。它确保用户在浏览器中的网络通信是安全可靠的。
  4. 跨域资源共享(CORS): 当浏览器需要访问其他域名下的资源时,网络进程负责处理跨域资源共享(CORS)请求,确保安全地访问跨域资源。
  5. 代理服务器交互: 在一些特殊情况下,浏览器可能通过代理服务器来访问互联网资源,网络进程负责与代理服务器进行交互,获取代理服务提供的资源。
  6. 其他网络相关任务: 网络进程还可能负责其他一些网络相关的任务,如 DNS 解析、TCP 连接管理、请求重定向、请求重试、流量优化等。

综上所述,网络进程在浏览器中扮演着重要的角色,它负责处理各种网络请求和任务,确保用户能够安全、快速地访问互联网资源。

🪴二、OSI七层模型、TCP/IP四层模型

OSI 是 ISO(国际标准化组织)组织在1985年研究的网络互连模型。ISO 为了更好的使网络应用更为普及,推出了OSI 参考模型。其目的是推荐所有公司使用这个规范来控制网络。如果所有公司都使用相同的规范,就能实现网络互联。

在这里插入图片描述

简单概述下七层模型的作用:

  • 应用层:为应用程序提供服务;
  • 表示层:数据格式转换、数据加密;
  • 会话层:建立、管理、维护会话;
  • 传输层:建立、管理、维护端到端的连接
  • 网络层:IP地址和路由选择;
  • 数据链路层:提供介质访问和链路管理;
  • 物理层:物理设备确保数据传输;

TCP/IP 协议族是网络通信的基础,它是很多协议的集合。同样,TCP/IP 协议族也采用了分层策略,共分为4层:应用层、传输层、网络层、数据链路层。之所以要分层管理,主要有两个好处:

  1. 把各层的接口部分设计好后,每层内部的设计就可以自动变动了。如果某个地方需要改变设计时,只需要替换变动的层即可,不用整体做调整;
  2. 层次化后,设计变得相对简单了,处于应用层上的应用就可以专注于自己的人物,而不需要考虑其他的数据传输的问题。

简单概述下 TCP/IP 四层的作用:

  • 应用层:决定了向用户提供应用服务时通信的活动;
  • 传输层:给应用层提供网络连接中的计算机之间的数据传输;
  • 网络层:处理网络上流动的数据包;
  • 数据链路层:连接网络的硬件部分;

🪴三、TCP/IP协议族

TCP/IP协议族不止是指TCP协议和IP协议,而是指计算机之间为了实现通信,而约定好的一些规则,包括很多协议。例如TCP、IP、HTTP、TCP、UDP、ICMP、SNMP

(一)、 TCP/IP通信传输流

正如上一章所说,TCP/IP协议采取分层管理,以便于后续单独对某一层进行调整。利用TCP/IP协议族进行通信时,会通过分层顺序和对方通信,并且在数据传输时会进行封装,即在发送端发送数据时经过每层,都会被打上该层的首部信息,接收端接收时再在每一层去除这些信息。大致步骤如下图:

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

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

相关文章

果园预售系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,用户管理,果树管理,果园管理,果园预约管理 前台账户功能包括:系统首页,个人中心,论坛,公告&a…

使用Zed 实现测距

目录 1. 导入相关库 2. 相机初始化设置 3. 获取中心点深度数据 4. 计算中心点深度值 5. 完整代码 此代码基于官方代码基础上进行改写,主要是获取zed相机深度画面中心点的深度值,为yolo测距打基础。 Zed相机是由Stereolabs公司开发的一种先进的立体视觉相机。这种相机专…

MySQL提权之UDF提权

1、前言 最近遇到udf提权,几经周折终于搞懂了。感觉挺有意思的,渗透思路一下子就被打开了。 2、什么是udf提权 udf 全称为user defined function,意思是用户自定义函数。用户可以对数据库所使用的函数进行一个扩展(windows利用…

Rollup 打包一个 JavaScript 项目

export default {input: "./src/FFCesium/core/index.js", // 输入文件output: {file: "public/lastVersion/FFCesium.confuse.js", // 输出文件//format: "cjs", // 打包格式为cjsformat: "es",exports: "default", // 或者…

电脑超频是否能把平平无奇的CPU性能提升到超高性能的CPU水平?

前言 这一期着实很有意思哈,一颗平平无奇的CPU通过超频,把性能提升到超高性能的CPU水平。 举个例子:类似于把i7-4790k这颗十年前的高性能CPU超频到性能与i9-14900同样水准,是否可行? 先科普一下:i7-4790…

中文版svn怎么忽略文件

个人需求: 不上传dist,dist.7z,node_modules等文件夹 实际操作: 前言:在上传svn为避免操作失败导致丢失文件的情况,保险起见,先备份代码 1:右键点击 2:点击新建 – 其…

分布式光纤测温DTS与红外热成像系统的主要区别是什么?

分布式光纤测温DTS和红外热成像系统在应用领域和工作原理上存在显著的区别,两者具有明显的差异性。红外热成像系统适用于表现扩散式发热、面式场景以及环境条件较好的情况下。它主要用于检测物体表面的温度,并且受到镜头遮挡或灰尘等因素的影响会导致失效…

【Shopee】计算虾皮订单的各项支出和订单收入计算方法

虾皮订单成交截图 基础条件: 商品金额:11.92 [4x2.98] 商品原价:7.5 商品折后价:2.98 商品数量:4 优惠券与回扣: 店铺优惠券(减10%):1.2 [11.92x10% 四舍五入了] 订单实…

微软bing英文地图公司地址标注

实现效果如下&#xff1a; 通过微软Bing地图嵌入代码&#xff0c;以在网站中展示公司地址&#xff0c;使用鼠标滚动可缩放或点击拖动地图。 直接上代码&#xff0c;根据自己的需求修改相关信息即可。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN…

消息群发工具制作的过程和需要用到的源代码!

在信息化快速发展的今天&#xff0c;消息群发工具因其高效、便捷的特点&#xff0c;在各个领域得到了广泛的应用&#xff0c;无论是企业营销、社交互动&#xff0c;还是日常通知&#xff0c;消息群发工具都发挥着不可替代的作用。 本文将详细介绍消息群发工具的制作过程&#…

opencv_核心操作

图像基本操作 访问和修改像素值 import numpy as np import cv2 img cv2.imread(c:/Users/HP/Downloads/basketball.png) h,w,c img.shape #图像大小 print(h,w,c)### 841 1494 3# 通过行和列坐标访问像素值 img[100,100]### 231 ### array([231, 140, 146], dtypeuint8)# …

额定值高于 1 kW 的电机驱动应用使用 GaN 逆变器 IC

GaN 技术的三个重要的参数是更高的带隙、临界场和电子迁移率。当这些参数结合起来时&#xff0c;由于 GaN 晶体的临界场高 10 倍&#xff0c;因此与硅 MOSFET 相比&#xff0c;电端子之间的距离可以近 10 倍。这导致了 GaN 和硅之间的明显区别&#xff1a;中压 GaN 器件可以基于…

AI大模型探索之路-实战篇:智能化IT领域搜索引擎之知乎网站数据获取(初步实践)

系列篇章&#x1f4a5; No.文章1AI大模型探索之路-实战篇&#xff1a;智能化IT领域搜索引擎的构建与初步实践2AI大模型探索之路-实战篇&#xff1a;智能化IT领域搜索引擎之GLM-4大模型技术的实践探索3AI大模型探索之路-实战篇&#xff1a;智能化IT领域搜索引擎之知乎网站数据获…

list容器的基本使用

目录 前言一&#xff0c;list的介绍二&#xff0c;list的基本使用2.1 list的构造2.2 list迭代器的使用2.3 list的头插&#xff0c;头删&#xff0c;尾插和尾删2.4 list的插入和删除2.5 list 的 resize/swap/clear 前言 list中的接口比较多&#xff0c;与string和vector类似&am…

【数据库设计】宠物商店管理系统

目录 &#x1f30a;1 问题的提出 &#x1f30a;2 需求分析 &#x1f30d;2.1 系统目的 &#x1f30d;2.2 用户需求 &#x1f33b;2.2.1 我国宠物行业作为新兴市场&#xff0c;潜力巨大 &#x1f33b;2.2.2 我国宠物产品消费规模逐年增大 &#x1f33b;2.2.3 我国宠物主选…

GPT办公与科研应用、论文撰写、数据分析、机器学习、深度学习及AI绘图高级应用

原文链接&#xff1a;GPT办公与科研应用、论文撰写、数据分析、机器学习、深度学习及AI绘图高级应用https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247606667&idx3&sn2c5be84dfcd62d748f77b10a731d809d&chksmfa82606ccdf5e97ad1a2a86662c75794033d8e2e…

数据结构-树的性质

树的定义 树是一个有限数据元素的集合&#xff0c;当数据的量为0时&#xff0c;称为空树。 在一个非空树T中&#xff0c;最上方的结点没有前驱结点&#xff0c;称为根节点。在一个数据量大于1的树中&#xff0c;除了根节点之外的其余数据元素可以被分为m个互不相交的集合T1,T2,…

[leetcode]删除链表中倒数第k个结点

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:ListNode* trainningPlan(ListNode* head, int cnt) {int n 0;ListNode* node nullptr;for (node head; node; node node->next) {n;}for (node head; n > cnt; n--) {node node->next;}retu…

场外期权如何开户?开户有哪些流程?

今天带你了解场外期权如何开户&#xff1f;开户有哪些流程&#xff1f;场外期权是一种金融衍生品&#xff0c;其开户流程和条件对于投资者来说至关重要。 场外期权如何开户&#xff1f; 需要满足532资质&#xff0c;参与者需为法人、合伙企业或其他组织&#xff0c;最近一年末…

《吸血鬼猎人D》观后感

前言 在B站无意中发现了一部动漫电影《吸血鬼猎人D》&#xff0c;看着封面还不错&#xff0c;就试着点开了视频&#xff0c;看了一会儿&#xff0c;发现画面很精美&#xff0c;人物造型高大威猛&#xff0c;肌肉线条清晰可见。如果我没记错的话&#xff0c;这种风格在日本动漫中…