热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

HTTP协议相关的网络经典五层模型

网络通信相关概念的讲解–网络协议分层(经典五层模型)在我们了解HTTP相关内容之前我们先来了解一下“网络协议分层”相关内容,因为这个是我们了解HTTP相关内容的前提条件;大家有一



网络通信相关概念的讲解 – 网络协议分层(经典五层模型)

在我们了解 HTTP 相关内容之前我们先来了解一下 “网络协议分层” 相关内容, 因为这个是我们了解 HTTP 相关内容的前提条件; 大家有一定深入了解就会明白为什么这样说。 有什么疑问的地方欢迎评论区留言 。

废话不多说, 直接上代码以及图例(为了让大家方便阅读, 都有自己验证过程的一些图例作为分享) 。






一: 网络协议分层

1. 理解网络信息传输过程的时候, 都会使用一个 '经典五层模型'1. 在每一台电脑上, 每一台服务器上, 它都是有这样一个相应的层级关系的; 来维护我们网络传输的过程的 。2. 网络协议的 经典五层模型:1. 应用层2. 传输层3. 网络层4. 数据链路层5. 物理层



二: 低三层各自的主要功能

1. '物理层':1. 物理层的主要作用是: 定义物理设备如何传输数据 。2. 物理层: 简单来说就是 电脑的硬件, 网卡端口, 网线, 网线连接的光缆, 来为我们把数据传输到互联网 。3. 没有物理层我们的软件是无法去使用的 。2. '数据链路层' (也可简单的成为 '链路层', 或者 '网络接口层'):1. 数据链路层 在通信的实体之间建立 数据链路连接: 即 用来处理链接网络的硬件部分 '物理层'2. 需要一个软件服务 帮助我们通过物理的设备 创建一个电路的链接 。3. "注意: 在 《图解HTTP》 一书中: 链路层的定义为: 用来处理链接网络的硬件部分; 硬件上的范畴均在链路层的作用范围之内。", 这里大家不用太在意, 因为这是因为抽象分层时依据不同造成的, 其实都是正确的 (可参考下图)3. '网络层':1. 网络层为数据在节点之间传输, 创建 逻辑链路 。2. 网络层用来处理网络上流动的 '数据包', 数据包是网络传输数据的最小数据单位 。3. 当计算机之间进行通信时, 网络层所起到的作用就是在众多的网络通信路线中选择一条 '传输路线'4. 例如: 我们从自己的电脑去访问百度的服务器, 我们如何去寻找百度这台服务器所在的地址, 它就存在一个逻辑关系; 这个关系是在 网络层 为我们创建的 。

图片示例:

在这里插入图片描述
在这里插入图片描述






三: 传输层

1. '传输层' 的两个协议:1. TCPIP 协议(传输控制协议)2. UDP 协议(用户数据报协议)3. 在更多的情况下我们使用的是 TCPIP 协议, 它是一个更可靠的协议帮我们传输数据 。2. 传输层: 向我们提供可靠的端到端服务 (End-to-End)1. '传输层' 提供处于网络链接中的两台计算机之间的 '数据传输'2. 这个服务的概念: 就是我们建立起了从我们自己的电脑到服务器之间的 连接戳 。3. 它们两端如何去传输数据, 传输数据的方式都是在这一层进行定义的 。4. 传输的数据有可能很小有可能很大, 如果传输的数据比较大, 一次性不能将这个数据传输过去, 那么我们要 分包/分片, 这些分片的数据在传输完成之后, 要进行组装; 组装/传输 的过程, 这些协议的定义都是在 传输层 进行定义的 。4. 传输层: 向高层屏蔽了, 下层数据通信的细节 。1. http 协议是实现在 TCPIP 协议基础上的, 我们 http 协议要传输一个数据只需要非常简单的在浏览器中输入 URL, 它就会发送相关的数据到服务器端, 服务器端能够解析这些数据, 返回给我们的浏览器, 然后把页面显示出来 。2. 我们输入 URL 的过程涉及到了一系列数据的拼装与传输 。3. 这个过程我们作为客户端(浏览器端、APP), 不需要知道它里面是怎么去分片, 怎么去跟服务器创建一个连接的关系, 这些内容传输层已经帮我们封装好了 。5. 传输层会涉及到 http 性能, 过程消耗 。



四: 应用层

1. '应用层' 最主要的就是 http 协议 。2. 应用层 为应用软件提供了很多 '应用服务'1. FTP 文件传输协议 服务。2. DNS 域名系统 服务。4. 构建于 传输层(一般是指TCP) 协议之上 。5. 屏蔽网络传输相关细节 。

图片示例:

在这里插入图片描述
在这里插入图片描述



之前有整理过部分知识点, 现在将整理的相关内容, 验证之后慢慢分享给大家; 这个专题 就是 “HTTP协议原理与实践代码” 的相关专栏; 不积跬步,无以至千里, 戒焦戒躁 。


如果对你有所帮助,喜欢的可以点个关注, 必然回访; 文章还一直持续打磨 。


有什么想要了解的前端知识吗? 可以评论区留言, 会及时跟进分享所提内容 。


整理知识点不易, 每次都是在工作繁忙之余夜深人静之时整理, 无论知识点是大是小, 都会验证后再分享, 以防自己发表的文章给大家造成误导 。如有问题还望不吝赐教,本人会及时更改 (本文原创, 如需转载,请注明出处) 。


HTTP协议原理上篇文章: HTTP协议原理与代码实践之大纲


HTTP协议原理下篇文章: HTTP 协议详解和版本介绍(HTTP发展历史)


推荐阅读
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • TCP三次握手过程详解与图示解析
    本文详细解析了TCP三次握手的过程,并通过图示清晰展示了各个状态的变化。同时,文章还介绍了四次挥手的图解,解释了在TIME_WAIT状态中,客户端最后一次发送的ACK包的作用和重要性。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
  • vsftpd配置(虚拟用户、匿名用户登录)
    一、ftp服务搭建(一)概述1.ftp连接及传输模式(1)控制连接TCP21,用于发送FTP命令信息 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 基于Linux系统的Kickstart自动化服务器部署方案
    本文针对企业需求,提出了一种基于Linux系统的Kickstart自动化服务器部署方案。该方案旨在通过无盘批量安装操作系统,提高企业IT基础设施的部署效率。Kickstart是一种利用Anaconda工具实现服务器自动化安装的技术,能够显著简化和加速操作系统的安装过程。通过详细的实施规划,本文介绍了Kickstart的工作原理及其在实际部署中的应用,为企业提供了高效的自动化部署解决方案。 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 在JavaWeb项目架构中,NFS(网络文件系统)的实现与优化是关键环节。NFS允许不同主机系统通过局域网共享文件和目录,提高资源利用率和数据访问效率。本文详细探讨了NFS在JavaWeb项目中的应用,包括配置、性能优化及常见问题的解决方案,旨在为开发者提供实用的技术参考。 ... [详细]
  • 在网络故障排查中,tcpdump 是一款强大的工具,尤其在 Linux 环境下。尽管开发环境中问题较少,但在测试或生产环境中,往往会遇到各种难以预料的异常情况。通过在问题发生的环境中启用 tcpdump 进行抓包,并重现问题,可以获取到宝贵的原始数据,为问题的诊断提供关键线索。本文将详细介绍如何使用 tcpdump 进行实战操作,帮助读者掌握这一技能。 ... [详细]
  • Linux入门教程第七课:基础命令与操作详解
    在本课程中,我们将深入探讨 Linux 系统中的基础命令与操作,重点讲解网络配置的相关知识。首先,我们会介绍 IP 地址的概念及其在网络协议中的作用,特别是 IPv4(Internet Protocol Version 4)的具体应用和配置方法。通过实际操作和示例,帮助初学者更好地理解和掌握这些基本技能。 ... [详细]
  • 基于域名、端口和IP的虚拟主机构建方案
    本文探讨了在单台物理服务器上构建多个Web站点的虚拟主机方案,详细介绍了三种主要的虚拟主机类型:基于域名、基于IP地址和基于端口的虚拟主机。每种类型的实现方式及其优缺点均进行了深入分析,为实际应用提供了全面的技术指导。 ... [详细]
  • 本文探讨了文件传输过程中的优化与安全策略。具体而言,研究了如何将客户端的文件高效上传至服务器。通过使用结构体对象,可以封装文件的相关信息,如位置和大小,并利用缓冲区存储实际数据,从而实现高效的数据传输。此外,文章还讨论了在传输过程中确保数据完整性和安全性的多种方法,包括加密技术和身份验证机制。 ... [详细]
author-avatar
手机用户2602920567
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有