您的位置:首页 > 理论基础 > 计算机网络

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 网络协议