网络协议简单了解
一、简单介绍学习想法
经常在企业的面试的上写着熟悉HTTP协议/,Tcp/IP协议,这些对于我来说只是知道是什么,知道一个三次握手,但是具体是怎么玩真很不清晰。对于处于迷茫期我的想真真实实的了解一下这些东西,了解一下web请求原理的这一些东西,为自己以前睡过的觉买单,为新到来的2017年一起奋斗,为.net web事业奋斗,当然也要批评一下我萌生转java的想法,2017年我要坚定的我的道路,学习新的知识core+linux,还有这些协议方面的东西,另外MVC也想读基本好书,希望大家给推荐一下。
二、网络协议的简单介绍
这只是个开篇我计划将我学习一步一步介绍给大家,先是介绍HTTP协议,但是这个之前我先简答介绍TCP/IP,先对这个有一个简单的了解之后我们开始学习HTTP协议,等完成HTTP协议以后我们开始学习TCP/IP协议,废话不多说开始介绍吧。
通常我们使用的网络都是在TCP/IP上运行的,而HTTP协议是TCP/IP的内部子集,也就是他爸爸。计算机与网络设备要通信,双方就必须基于相同的方法,也就是说不同的设备,操作系统之间想要通讯,必须要有规则,这种规则就是协议。这个协议里面就是一个大杂烩,包括访问web页面的处理也就是我们HTTP协议等等一系列的东西。
三、TCP/IP分层
TCP/IP协议按照层次分为一下的4层:应用层,传输层,网络层和数据链路层。相信这些大家在大学的时候都有学过,然而我确实在梦境中度过。无奈为昨天错误进行买单吧。来说一下这个层次化就和简单三层是一样的好维护好更改,设计起来更方便简单。处于应用层应用只管考虑分派给自己的任务,而不需要去干传输数据的问题,这就是单一原则,好比说三成中的数据成,只管和数据库打交道,剩下的业务你就在业务层处理好丢给我就好了。各施其职,也就是重要的面向对象的设计原则。
应用层:决定向用户提供那些服务时的通讯活动。TCP/IP内部封装了各类应用服务,比如FTP和HTTP等等,说白一点就是封装这不同数据请求头的报文。
传输层:提供在网络连接中的数据传输。在传输层我们最熟悉的TCP和UDP协议。
网络层:用来处理在网络上流动的数据包,数据包是最小的数据单位。该层决定了通过怎样的路径到达对放的电脑,,并把数据传输给对方。
链路层:来处理连接网络的硬件部分,包括操作系统,硬件设备等等。
四、TCP/IP通讯传输流
这个是按照HTTP请求的一个例子,相信大家基本上能看懂,所以不做过多的文字介绍,只是这让我想起了在500强里面的师傅,那时他就老是给我讲这个服务器客户端的事,只能说浩哥谢谢你,大恩不言谢,就是你我的编程世界开始的。好不煽情了,继续说说这个里面需要知道事吧,发送端在每次经过一个层的时候都会被打上该层的标签,在服务器端,层与层之间传输的时候会去掉,这就是封装的应用。
五、HTTP协议传输中所用的到协议了解
IP网际协议位于网络层,所有的网络层都会用到IP协议,IP协议的作用就是把各种数据包传输给对方,在这个传输中需要两个重要的条件就是IP地址和MAC地址,这个基本意思就是我要知道我要传输给谁,IP地址和MAC地址进行匹配就是准确定位到访问的地址,在木有到达对方的的过程中,需要路由的选择,这个就像你在淘宝上买书,店家先让快递员送到集散中心,然后集散中心判断送货地址,看看能不能送到,不能继续前往下一个集散中心,最终讲书送到你手上,这个例子用说明在网络的传输中我们是无法掌握到互联网的细节的。
TCP协议按照分层属于传输层,提供可靠的字节流服务。为了准确无误的将数据传输给目标文件,TCP协议采用了三次握手办法。TCP协议将数据包传输出去以后不会不管,而是要先发送带SYN(synchronize)标志的数据包给对方,接收端收到后,回传一个带有SYN/ACK标志的数据包以表示确认收到信息,最后发送端回传一个带有ACK标志的数据包结束,代表握手结束,在我握手的某个阶段中断,TCP协议再次以相同的顺序发送相同的数据包。
DNS协议与HTTP协议一样位于应用层协议,他提供IP地址之间的解析服务,一般我们访问baidu.com的时候,DNS先回帮我们把百度的IP地址解析回来然后再进行对该服务器的访问。
最后上一幅图将各种协议与HTTP协议的关系展示一下。
祝大家新年快乐,早日找到心仪的对象。哈哈!!!!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?