【HTTP协议】网络基础和简单的HTTP协议(1)
1.使用HTTP协议访问WEB
web使用一种名为HTTP(HyperText Tranfer Protocol,超文本传输协议)的协议作为规范,完成从客户端到服务器端的一系列运作流程,而协议就是规则的约定。
2.网络基础TCP/IP
通常我们使用的网络(包括互联网)是在TCP/IP协议族的基础上运作的,而HTTP属于他们的子集。
- TCP/IP协议族
计算机和网络设备之间进行相互通信,双方就必须基于相同的方法。比如中国人之间就使用汉语进行说话,如何探测到通信目标,从哪一边先发起通信等等,所有这一切都需要规则,我们把这种规则称为协议。
2.图就是TCP/IP协议族
- TCP/IP的分层管理
分层是协议中非常重要的点,按照层次分分为四层:应用层,传输层,网络层,数据链路层。
TCP/IP协议族各层的作用如下:
- 应用层
应用层决定了向用户提供应用服务时通信的活动。
TCP/IP协议族中就预存了各类通用的应用服务,比如FTP(文件传输协议)和DNS(域名系统)。HTTP协议也处于这一层。
- 传输层
传输层相对于应用层,提供处于网络连接中的两台计算机之间数据的传输。在传输层有两种协议:TCP(传输控制协议)和UDP(用户数据包协议)
- 网络层
网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位,在这一层规定传输路线
- 数据链路层
这一层属于硬件部分,在这里不多介绍。
4.TCP/IP通信传输流
从图上可以看出,利用TCP/IP协议族进行网络通信时,会通过分层进行通信。发送端往下走,接受端往上走。
HTTP举例来说明:首先客户端发送一个请求,然后为了方便,在传输层会把应用层收到的数据(HTTP请求报文)进行分割,并且在各个报文上打上标记序号和端口号打上端口号,发给网络层。
在网络层,增加作为通信目的地的MAC地址后转发给链路层。
然后接收端是一个相反的过程。如图:
在这里需要注意的是,在每次进行传输数据的时候会打上该层所属的首部信息。反之,接收端层与层之间把对应的首部消去。就是所谓的封装和解包。
5.和HTTP关系密切的协议:IP/TCP和DNS
- 负责传输的IP协议
IP协议的作用就是把各种数据包传送给对方.而且要保证传输到那里,则需要满足各类条件,其中最重要的条件是IP地址和MAC地址.
ip地址指明了节点被分配到的地址,MAC地址是网卡所属的固定地址.IP地址和MAC地址进行配对.
- 使用ARP协议
ARP是一种解析地址的协议,可以根据通信方的IP地址就可以反查出对应的MAC地址.
- 确保可靠性的TCP协议
按照层次分,TCP位于传输层,提供可靠的字节流服务.
所谓的字节流服务就是将大数据分割成报文段为单位的数据包进行管理,而可靠性就是下面的三次握手策略.
三次握手过程:
首先发送端发送一个带SYN标志的数据包给对方,接收端收到后,回传一个SYN/ACK标志的数据包表示收到信息,最后发送端回传一个带ACK标志的数据包,表示结束.
如果在握手过程中某个阶段莫名打断,TCP协议再次以相同顺序发送相同的数据包.
6.负责域名解析DNS服务
DNS协议通过域名进行IP查找,或者逆向从IP地址反查域名的服务.
7.各种协议与HTTP协议的关系
还没有评论,来说两句吧...