[面试]通讯协议(HTTP、TCP、UDP)

在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。

在传输层有TCP协议和UDP协议。

在应用层有HTTP、FTP、TELNET、SMTP、DNS等协议。

一、HTTP与HTTPS

  HTTP和HTTPS的基本概念

HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

HTTPS:是以安全为目标的HTTP通道,简单讲就是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础使SSL,因此加密的详情内容就需要SSL。

HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

  HTTP与HTTPS的区别

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生HTTPS。

简单来说,HTTP协议是有SSL+HTTP协议构建的可进行加密传输,身份认证的网络协议,要比HTTP协议安全。

  HTTP和HTTPS的区别主要如下

HTTPS协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的SSL加密传输协议。

HTTP的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输,身份认证的网络协议,比HTTP协议安全

 

二、TCP与UDP

  TCP与UDP的基本概念

TCP(Transmission Control Protocol),又叫传输控制协议。

UDP(User Datagram Protocol),又叫用户数据报协议。

  TCP和UDP的区别

TCP面向有链接的通信服务 UDP面向无连接的通信服务
TCP提供可靠的通信传输 UDP不可靠,会丢包
TCP保证数据顺序 UDP不保证
TCP数据无边界 UDP有边界
TCP速度快 UDP速度慢
TCP面向字节流 UDP面向报文
TCP一对一 UDP可以一对一,一对多
TCP报头至少20字节 UDP报头8字节
TCP有流量控制,拥塞控制 UDP没有

什么时候使用TCP

当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。在日常生活中,常见使用TCP协议的应用如下:浏览器,用的HTTP FlashFXP,用的FTP Outlook,用的POP、SMTP Putty,用的Telnet、SSH QQ文件传输

什么时候用UDP

当对网络通讯质量要求不高的时候,要求网络通讯速度能尽量的快,这时就可以使用UDP。比如,日常生活中,常见使用UDP协议的应用如下:QQ语音、QQ视频、TFTP

三、HTTP和TCP

TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性。

HTTP协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次HTTP请求。HTTP会通过TCP建立起一个服务器的连接通道,当本次请求需要的数据完毕后,HTTP会立即将TCP连接断开,这个过程是很短的。所以HTTP连接是一种短连接,是一种无状态的连接。所谓的无状态,是指浏览器每次向服务器发起请求的时候,不是通过一个连接,而是每次都建立一个新的连接。如果是一个连接的话,服务器进程中就能保持住这个连接并且在内存中记住一些信息状态。而每次请求结束后,连接就关闭,相关的内容就释放了,所以记不住任何状态,成为无状态连接。

  TCP是传输层协议,定义的是数据传输和连接方式的规范。

  HTTP是应用层协议,定义的是传输数据的内容的规范。

  HTTP协议中的数据是利用TCP协议传输的,所以支持HTTP就一定支持TCP

posted @ 2020-09-03 09:55  龙欺  阅读(588)  评论(0)    收藏  举报