slyoy 2019-06-28
通常使用的网络是在TCP/IP
协议族的基础上运作的,而HTTP
属于它内部的一个子集。TCP/IP
是互联网相关的各类协议族的总称。
TCP/IP
按层次划分为以下四层:应用层、传输层、网络层、数据链路层。分层的好处在于,如果互联网只有一个协议统筹,某个地方需要改动时,只需改动相应的层即可。
应用层决定了向用户提供应用服务时通信的活动。TCP/IP
协议族内预存了各类的应用服务,例如 FTP
(文件传输协议)、DNS
(域名系统)等服务。HTTP
协议也属于该层。
提供处于网络连接中的两台计算机的数据传输。该层有两个性质不同的协议,分别是 TCP
(传输控制协议)和UDP
(用户数据报协议)。
网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定来通过怎么样的路径到达对方的计算机,并把数据包传送给对方。
用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC,及光纤等物理可见部分。
利用 TCP/IP
进行通信时,发送端会从应用层向下走,接收端从网络层向上走
HTTP
请求TCP
协议)将从应用层收到的数据(HTTP
请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层IP
协议),增加作为通信目的地的MAC地址后转发给链路层。HTTP
请求。写过小程序的应该知道,微信的request不封装基本上不能用,写的显的太冗长,而且是回调式的,回调地狱什么的就不说了,可读性差。下面是我的封装代码,顺便支持一下promise。加了登录锁后的代码如下: