HTTP 学习之路(一)
网络基础 TCP/IP
通常使用的网络是在TCP/IP
协议族的基础上运作的,而HTTP
属于它内部的一个子集。TCP/IP
是互联网相关的各类协议族的总称。
TCP/IP
按层次划分为以下四层:应用层、传输层、网络层、数据链路层。分层的好处在于,如果互联网只有一个协议统筹,某个地方需要改动时,只需改动相应的层即可。
应用层
应用层决定了向用户提供应用服务时通信的活动。TCP/IP
协议族内预存了各类的应用服务,例如 FTP
(文件传输协议)、DNS
(域名系统)等服务。HTTP
协议也属于该层。
传输层
提供处于网络连接中的两台计算机的数据传输。该层有两个性质不同的协议,分别是 TCP
(传输控制协议)和UDP
(用户数据报协议)。
网络层
网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定来通过怎么样的路径到达对方的计算机,并把数据包传送给对方。
链路层
用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC,及光纤等物理可见部分。
TCP/IP 通信传输信息流
利用 TCP/IP
进行通信时,发送端会从应用层向下走,接收端从网络层向上走
- 首先在应用层发送端发送一个
HTTP
请求 - 为了传输方便,传输层(
TCP
协议)将从应用层收到的数据(HTTP
请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层 - 在网络层(
IP
协议),增加作为通信目的地的MAC地址后转发给链路层。 - 接收端的服务器在链路层接收到数据,按序向上删除首部,直到应用层时,接收到了发送到真正的
HTTP
请求。
相关推荐
似水流年梦 2019-12-27
ChinaWin 2019-04-01
89241846 2019-11-19
81493369 2019-06-27
89590599 2019-06-27
stomsmth 2016-04-02
denniszb00 2019-04-04
cynthiachf 2020-09-18
jackadmi 2020-06-27
Unimen 2020-06-25
MAC2007 2020-06-06
三动 2020-06-05
hygbuaa 2020-04-30
写过小程序的应该知道,微信的request不封装基本上不能用,写的显的太冗长,而且是回调式的,回调地狱什么的就不说了,可读性差。下面是我的封装代码,顺便支持一下promise。加了登录锁后的代码如下:
ZZZhangbingyi 2019-11-18
xiaoxiaokeke 2019-11-11
Norsaa 2019-10-23
rootuseres 2019-03-08
dmguying 2019-05-08