网络-OSI、TCP、浏览器URL、CDN

这篇具有很好参考价值的文章主要介绍了网络-OSI、TCP、浏览器URL、CDN。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。



前言

本文记录OSI七层参考模型,和TCP/IP基本介绍。


网络-OSI、TCP、浏览器URL、CDN,网络,网络,tcp/ip,网络协议


一、OSI七层模型

七层参考模型分别是:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

  • 应用层(报文)
    最接近用户的一层,如使用ajax调用接口发送http请求、webSocket长连接、SSH协议等
  • 表示层(报文)
    对数据进行解码和编码,将数据解析成计算机识别的语言
  • 会话层(报文)
    是在发送方和接收方之间进行通讯时创建、维持、之后终止或断开连接的地方。
  • 传输层(数据段)
    定义端口号,以及控流和校验。
    • TCP
      TCP是面向连接的协议且是可靠的,因为建立TCP连接需要通过三次握手四次挥手,这样虽然可靠,但是连接速度有所减慢
    • UDP
      UDP具有实时性,传输效率比TCP高,但是不稳定,常用于直播、游戏
  • 网络层
    控制数据链路层与传输层之间的消息转发,建立、维护、终止网络连接。也就是说将数据链路层的数据转换为数据包进行传输,这一层定义了IP协议,通常我们使用的是IPV4。
    • 寻址
      利用IP地址进行通讯,与MAC地址类似,但是MAC属于物理地址,IP属于网络地址
    • 路由
      在同一个网络不需要网络层,就可以完成通讯。而对于不同网络之间的通讯就必须借助网络层的设备(路由器),路由器以端对端的方式查找对应IP地址。
  • 数据链路层
    数据链路层把物理层传输的比特流,通过MAC地址(网卡唯一标识:物理地址)拼接比特组成的数据帧,以广播的形式进行传输,局域网内的所有计算机都能收到消息。
  • 物理层
    物理层是直接和实物介质打交道的,这一层通过电、光、无线电波,获取对应的信号转换成二进制数据,单位为bit,称为传输比特流

二、TCP/IP和UDP

TCP

三次握手

TCP连接需要通过三次握手才能建立连接。

名词解释:

  • seq 序列号 随机生成
  • ack 确认号 ack=seq+1
  • ACK 确定序列号有效
  • SYN 发起新连接

网络-OSI、TCP、浏览器URL、CDN,网络,网络,tcp/ip,网络协议

四次挥手

在关闭连接时,无论是客户端断开还是服务端断开需要通过四次挥手才能关闭TCP连接。在第三次挥手之前第二次挥手之后,会将未完成的请求完成,才会进行第三次挥手。
在进行第三次挥手的时候客户端会进入超时等待状态,进入超时等待是因为怕ACK丢失,导致连接无法关闭,等待状态会让服务端重新发送FIN。
名词解释:

  • seq 序列号 随机生成
  • ack 确认号 ack=seq+1
  • ACK 确定序列号有效
  • SYN 发起新连接
  • FIN 完成

网络-OSI、TCP、浏览器URL、CDN,网络,网络,tcp/ip,网络协议


三、 浏览器输入URL

URL

URL由三部分组成:协议、域名、和请求资源路径
网络-OSI、TCP、浏览器URL、CDN,网络,网络,tcp/ip,网络协议

DNS查询

DNS是将ip与域名做映射关系,这一步就是通过域名查找ip地址
DNS查询会以以下几个步骤进行,其中一步找到则跳到建立连接部分。

  • 浏览器自身DNS
    网络-OSI、TCP、浏览器URL、CDN,网络,网络,tcp/ip,网络协议

  • 操作系统DNS

  • 本地hosts文件

  • 向域名服务器发送请求
    向域名服务器发送请求分为三步,首先在根域名服务器找如果没有对应ip就到顶级域名服务器再没有就到权威域名服务器找:
    网络-OSI、TCP、浏览器URL、CDN,网络,网络,tcp/ip,网络协议

    • 根域名
      网络-OSI、TCP、浏览器URL、CDN,网络,网络,tcp/ip,网络协议

    • 顶级域名
      网络-OSI、TCP、浏览器URL、CDN,网络,网络,tcp/ip,网络协议

    • 权威域名
      网络-OSI、TCP、浏览器URL、CDN,网络,网络,tcp/ip,网络协议

TCP/IP连接

浏览器缓存

强缓存

让浏览器强制缓存服务端提供的资源,一般是js、css等静态资源,在第一次请求后,这个请求就直接会在浏览器缓存中找,分为磁盘缓存和内存缓存,在返回状态码后有标记,在通过磁盘读取缓存后有几率读取浏览器内存中都缓存。

需要后端配置其中一个响应头字段:

  • Cache-Control: max-age=432000
  • Expires: Wed,21 Oct 2015 07:28:00 GMT

网络-OSI、TCP、浏览器URL、CDN,网络,网络,tcp/ip,网络协议

协商缓存

后端通过两个字段确定缓存的时间:

  • Last-Modified: Set, 21 Oct 2015 07:30:00 GMT (最后被修改的时间)
  • if-Modified-Sice: Set, 21 Oct 2015 07:30:00 GMT
    或者:
  • ETAG: “0.0.1”
  • if-None-Match: “0.0.1”
    通过比较两个字段的值,确定资源是否改动,没改动就返回304,否则将返回200并带上最新资源,ETAG可带版本号或者文件hash。

断开连接

浏览器渲染

  • 解析HTML进行AST解析成DOM树

  • 将css样式转换成浏览器认识的样式,计算出DOM节点样式

回流
当元素尺寸、结构、或属性发生变化时,浏览器将重新渲染部分或者全部文档

导致回流操作:

  • 首次渲染
  • 浏览器窗口发生改变
  • 元素尺寸、位置发生改变
  • 元素内容变化
  • 元素字体大小
  • 添加或者删除可见的DOM元素
  • 激活CSS伪类(:hover)
  • 查询某些属性或者调用某些方法
    • clientWidth、clientHeight、clienTop、clienLeft
    • offsetWidth
    • scrollwidth
    • getComputedStyle()
    • getBoundingClientRect()
    • scrollTo()

重绘
当页面元素样式的改变并不影响他在文档流中的位置时,浏览器会将新样式赋予给元素并重绘它

  • JS解析
    JS的解析通过V8引擎,通过解析器解析成AST语法树,再转换成字节码(兼容跨平台),通过解释器(JIT)编译代码后变成机器码,运行到CPU。

四、 CDN

内容分发网络,CDN是用来优化网络资源请求时间的,在DNS解析的时候会去距离比较近的服务器查找。

网络-OSI、TCP、浏览器URL、CDN,网络,网络,tcp/ip,网络协议文章来源地址https://www.toymoban.com/news/detail-729684.html


总结

到了这里,关于网络-OSI、TCP、浏览器URL、CDN的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络编程——深入理解TCP/IP协议——OSI模型和TCP/IP模型:构建网络通信的基石

    TCP/IP协议,即 传输控制协议/互联网协议 ,是一组用于在计算机网络中实现通信的协议。它由两个主要的协议组成:TCP(传输控制协议)和IP(互联网协议)。TCP负责确保数据的可靠传输,而IP则负责路由数据包以在网络中传递。TCP/IP协议簇还包含其他辅助协议,如UDP(用户数

    2024年02月14日
    浏览(57)
  • OSI 和 TCP/IP 网络分层模型详解(基础)

    OSI模型 : 即 开放式通信系统互联参考模型 ( Open System Interconnection Reference Model ),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI。 OSI 七层模型 是国际标准化组织提出一个网络分层模型,其大体结构以及每一层提供的功

    2024年02月16日
    浏览(39)
  • 【网络基础】OSI参考模型和TCP/IP协议

    目录 一、分层的思想 1.1 分层的原因 1.2 分层的好处 二、OSI参考模型 2.1 七层的划分 2.2 各层原理 三、TCP/IP协议 3.1 五层模型 3.2 各层常用协议 四、数据封装和解封装过程 4.1 封装过程 4.2 解封装过程 硬件和软件没有统一标准,不同厂商之间的设备无法通信。 各层相互独立,每

    2024年04月14日
    浏览(51)
  • OSI七层网络模型与TCP/IP四层模型

    OSI 七层模型 是国际标准化组织提出一个网络分层模型,其大体结构以及每一层提供的功能如下图所示: 但由于各方面原因,OSI 七层模型并没有被广泛应用,更多的是作为网络分层的一种基础理论模型。 TCP/IP 四层模型 是目前被广泛采用的一种模型,我们可以将 TCP / IP 模型

    2024年02月10日
    浏览(44)
  • 网络基础与osi七层与TCP\IP协议

    目录 一、网络基础 1.1什么是网络 ①网络是一组计算机或网络设备通过有形的线缆或无形的媒介,连接起来,按照一定的规则,进行通信的集合。 ②通信是指人与人、人与物、物与物之间通过某种媒介和行为的信息传递与交流。 ③网络通信,是指终端设备之间通过计算机进

    2024年02月03日
    浏览(50)
  • 网络分层模型 | OSI七层模型、TCP/IP四层模型

    欢迎关注博主 Mindtechnist 或加入【Linux C/C++/Python社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。 专栏:《网络编程》 ① 物理层:主要定义物理

    2024年02月05日
    浏览(55)
  • 计算机网络参考模型(OSI七层与TCP/IP协议)

    目录 1 为什么要分层 1.1 层次划分的必要性 1.2 层次划分的方法 1.2 层次划分的优点 2 七层和四层的定义 2.1 七层的介绍 2.1.1 OSI七层参考模型 2.1.2 OSI七层工作原理 2.1.3 PDU 2.2 四层的介绍 2.2.1 TCP/IP 参考模型 2.2.2 TCP/IP协议族的组成 2.2.3 数据封装和解封过程 2.2.4 设备与层的对应

    2024年02月08日
    浏览(55)
  • 网络基础、OSI七层参考模型和TCP/IP协议

    网络 是一组计算机或网络设备通过 有形的线缆或无形的媒介 如无线,连接起来,按照一定的规则,进行通信的集合。 通信 是指人与人、人与物、物与物之间通过某种媒介和行为进行的信息传递与交流。 网络通信 是指终端设备之间通过计算机网络进行的通信。 局域网: 小

    2024年02月04日
    浏览(43)
  • 【Java网络编程】OSI七层网络模型与TCP/IP协议簇

    1.1、OSI七层网络模型 OSI七层网络模型中,每层的功能如下: 应用层:人与计算机网络交互的窗口。 表示层:负责数据格式的封装,如加密、压缩、编解码等。 会话层:建立、终止、管理不同端间的会话连接。 传输层:提供端到端(两台机器)之间的传输机制,以及提供流

    2024年04月11日
    浏览(48)
  • 网络基础:OSI七层模型和TCP/IP四层模型

    目录 1.计算机网络基本概念 2.计算机网络分类与模型 OSI七层模型: 应用层 应用层的主要功能 表示层 表示层的具体功能  会话层 会话层的具体功能 传输层 传输层的主要功能 网络层 网络层的主要功能 数据链路层 数据链路层的主要功能 物理层 物理层的主要功能 TCP/IP四层模

    2024年02月05日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包