参考:老张
http://link.zhihu.com/?target=https%3A//www.cnblogs.com/imyalost/p/5627816.html
参考书籍——《图解http》
![06de7d8c3baa9a20b8103dda2710231c.png](https://i-blog.csdnimg.cn/blog_migrate/e725af8e468367bb74ae4fe90227e38b.jpeg)
当我们在浏览器的地址栏中输入网址,然后点击回车,接着,浏览器就会呈现出我们需要的web界面,那么,这个界面是怎么产生的?
web的界面是根据我们输入的URL(网址、地址),浏览器从服务器端获取对应的文件资源等信息,然后显示在浏览器上面。
像这种通过发送请求获取服务器资源的web浏览器等,都可以称之为客户端(client)
web使用http(超文本传输协议)协议作为规范,来完成从客户端到服务端等一系列的运作流程,而协议指的就是规则的约定,可以说,web是建立在http协议上进行通信的
关于http的产生和发展,这里就不赘述了,有兴趣的童鞋可以百度。。。。。。
![b887b970b8c2efc5ede5ee3d9d79921a.png](https://i-blog.csdnimg.cn/blog_migrate/46c0ed568b3820cb6dc2f24e0238a7c4.jpeg)
为了理解http,有必要简单介绍下tcp/ip协议族
计算机与网络设备之间互相通信,双方就必须基于同样的方法。比如:如何发现通信目标、由谁发起通信、使用什么语言通信、怎么结束通信都需要事先确定,所有这些都需要一种规则,
这就是协议。协议中存在多种的内容;从电缆的规格到ip地址的选定方法,寻找异地用户的方法,建立通信的顺序,以及web页面显示需要处理的步骤等等
像这样把与互联网相关联的协议集合起来统称为tcp/ip。
tcp/ip的分层
tcp/ip很重要的一个特点就是分层。按照层次分为以下四层:应用层,传输层,网络层和数据链路层
![8229fe2f5cd0ebdb6e6a670e6ad047b3.png](https://i-blog.csdnimg.cn/blog_migrate/22ea0fbb3ccaf55d229f99cf6c66ce4c.jpeg)
分层的好处:如果互联网只由一个协议统筹,那么某一地方出问题,整体都会出现问题,无法使用;分层后,只需替换出现问题的或者需要修改的即可,而且分层后针对具体的设计也变得更为简单
![97679547bb571643df431c341f058bdd.png](https://i-blog.csdnimg.cn/blog_migrate/4392fe70770bcf2bf84393b74eb1e9c3.jpeg)
应用层:体系的最高层,应用进程间通信交互的规则
tcp/ip协议族预存了各类通用的应用服务,比如:
ftp:文件传输协议
dns:域名系统协议
http:万维网应用协议
smtp:电子邮件协议
以上几种是常用的几种,还有很多其他的协议,感兴趣的可以找找其他专业的书籍看看
传输层:提供处于网络连接中的两台计算机间的数据传输,其中包括tcp和udp两种性质不同的协议
tcp:传输控制协议,传输的单位为报文段,提供面向连接的,可靠的数据传输服务
udp:传输单位为用户数据报,它是尽最大努力的提供数据传输服务,不保证可靠性
网络层:又名网络连接层
用来处理在网络上流动的数据包(封装)。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径到达对方计算机并把数据包传给对方
链路层:又名数据链路层,网络接口层
处理连接网络的硬件部分。比如控制操作系统、硬件的驱动、网络适配器、光钎等
数据的封装:
用户端发送一个请求,从应用层开始,一直到链路层,每一层都会被打上该层所属的首部信息;反之,接收端在层与层之间传输时,每经过一层会去掉该层的首部信息,这种做法叫做封装
与http密切相关的协议
IP协议:位于网络层,作用是把各种数据包传送给对方,而要准确的把数据传送给对方,就需要满足各类条件,其中有2个很重要的条件:ip地址和mac地址
ip地址相信有点基础的人都知道,就是节点被分配到的地址,mac地址则是指网卡所属的固定地址,ip和mac地址可以进行配对
ip间的通信依赖于mac地址,在信息传输中,有时候由于中转太多,因此会采用ARP协议,这是个用来解析地址的协议,通过ip地址就可以反查出对应的mac地址
tcp协议:位于传输层,确保传输的可靠性
数据传输中为了传输方便,会将大块数据分割成报文段,而tcp协议能确认数据最终是否传送给对方
为了准确传输,传输中采用了三次握手策略(这种手段可以理解为多次确认,来确保数据传输的可靠性)
dns协议:负责域名解析,位于应用层,提供域名到ip地址间的解析
通过域名查找ip地址,或者逆向从ip地址反查域名
URL和URI
URL:统一资源定位符:表示资源的地点,具体指向(门牌号)
URI:统一资源标识符:用字符串标识某些互联网资源(该门牌号的地方具体有什么资源)
URL是URI的子集
![b707978b4890b780ba137d5685dec57e.png](https://i-blog.csdnimg.cn/blog_migrate/2800a2d889155381106e3332d1e4960e.jpeg)
![d67ad269699c0f663f049ab4c4bf0fc7.png](https://i-blog.csdnimg.cn/blog_migrate/cf1f7c0e56812baf9c1cd9f5b43cb10d.jpeg)
感恩有你
想要获取最新的最有趣的编程资讯、知识,视频,那么就关注我们。
![e86ce8067aa90ba8b924db5e4a3d8641.png](https://i-blog.csdnimg.cn/blog_migrate/229b654c554fa1ca5e1366e56c930c70.jpeg)
![a5082112d4115d13072bf3660bd723f2.gif](https://i-blog.csdnimg.cn/blog_migrate/2464ec611ba398ee29067a4e38b8a051.gif)
在Unity进行水墨风3D渲染的尝试
从零开始的简单光线追踪示例
在Unity开发中为什么你维护五六百行代码就感觉力不从心?
您看此文用
![d02873ea0f55aa3cdbc2183ce3b15a19.gif](https://i-blog.csdnimg.cn/blog_migrate/02fb389f849f83c2cbf59c77c0deea49.gif)
![9b12985220a1f07b07d89df348b8376e.gif](https://i-blog.csdnimg.cn/blog_migrate/49eaf162ebb78ee8605cf34575ddf975.gif)
![d1ea54c30f142de398995618f7873d1d.gif](https://i-blog.csdnimg.cn/blog_migrate/238531ec83ea21e7e5c7457ce16dc973.gif)
![148acaa80444c46fe1c7e5caed1d8047.gif](https://i-blog.csdnimg.cn/blog_migrate/a7812a52701def37e016d2fd4204913d.gif)
秒,转发只需1秒呦~
那个,顺便星标一下再走呗!
![5f0b1f2efaa83e3029a9e525f7b05725.gif](https://i-blog.csdnimg.cn/blog_migrate/2af6282600ae082a7ad92b9ac83d11ca.gif)