Http相关协议基础
2018-02-05 15:23
363 查看
Http相关协议基础
TCP/IP协议族相关内容
TCP/IP的分层管理
TCP/IP安装层次把网络主要分为四层:应用层,传输层,网络层和数据链路层应用层
这一层主要预存了各类的通用的应用服务;比如,FTP(File Transfer Protocol,文件传输协议),DNS(Domain Name System,域名系统)和HTTP(HyperText Transfer Protocol,超文本传输协议)等
传输层
传输层对上层应用层,提供处于网络连接中的两台计算机直接的数据传输;在传输层有两个性质完全不同的协议:TCP(Transmission Control Protocol,传输控制协议)和UDP(User Data Protocol,用户数据报协议)
网络层
网络层用来处理在网络上流动的数据包(类似于TCP或者UDP之类的报文);这一层规定了通过怎样的路径到达对方的计算机,并把数据包传送给对方
链路层
用来处理连接网络的硬件部分。包括操作系统,硬件驱动,网卡和光纤等可见的物理设备
Http通信传输过程
Http相关的协议的:IP、TCP和DNS
IP协议IP(Internet Protocol,网际协议),该协议位于网络层,基本作为所有网络系统都会使用到IP协议;IP协议的作用就是把各种数据包传送到正确的对象,作为IP协议的两个重要条件就是IP地址(动态地址)和MAC地址(固定地址)
TCP传输协议
TCP位于传输层,为Http协议提供可靠的字节流传输服务;字节流服务指的是为了方便传输,将大块数据分割成以报文段为单位的数据包进行管理;TCP如何保证传输的可靠呢,主要通过三次握手的策略,这个策略主要包括了SYN(synchronize)和ACK(acknowledgement)两个标识
三次握手
首先客户端发送SYN标识给服务端,将SYN置为1,并且同时产生一个随机数J一并发送给服务端,然后客户端进入SYN_SEND状态,等待服务器的响应
然后服务端接受到SYN标识和随机数J,检查SYN标识是否为1,如果为1那么,服务器确认客户端是需要进行TCP连接请求,那么生成一个ACK标识,同时将SYN和ACK两个标识都置为1,并且将从客户端获取到的随机数J+1,然后产生一个新的随机数K,最后将以上三个操作所产生的数据发送给客户端,然后进行SYN_RCVD状态
客户端接受到服务器的响应后,首先检查ACK标识是否为1,且同时检查之前客户端所产生的随机数J是否被服务端+1返回;如果上述操作都成功,那么客户端将SYN和ACK都置为1,且将随机数K+1发送给服务端;最后服务端检查随机数K是否被+1操作返回;确认+1后,那么客户端和服务端进行ESTABLISHED状态,完成三次握手操作,最后客户端和服务端之间就可以进行数据传输了
DNS服务
DNS(Domain Name System)服务是位于应用层的协议,这个协议的主要作用就是,通过指定的域名去寻找对应的IP地址;这样做的好处就是,因为对于我们来说域名相比于IP地址(也就是纯粹的数字)相对好记忆一些,但是对于计算机来说,IP地址显然更具有优势,所以出现了这样一个协议来处理这样的问题
相关文章推荐
- http协议相关知识-网络基础
- HTTP第一篇【HTTP基础概念、与HTTP相关的协议】
- 计算机网络(三)HTTP协议相关基础
- Ajax快速入门之http协议基础
- HTTP协议相关
- web基础 (一) http协议
- 计算机网络自顶向下 :应用层(简单概念和http协议相关简单介绍)
- HTTP协议基础(二)
- 关于HTTP协议基础知识详解
- HTTP 协议基础
- HTTP协议与REST基础介绍(下)
- 转:HTTP协议基础(二)
- Http协议基础之响应状态码
- Http协议基础之HTTP请求首部字段
- 程序员必备基础知识:通信协议——Http、TCP、UDP
- HTTP协议基础
- (1)HTTP协议详解 <具体http可查阅相关书籍---http权威指南>
- HTTP协议的相关概念
- HTTP 协议基础
- 不惧面试:HTTP协议(1) - 基础扫盲