面试中关于TCP UDP HTTP HTTPS的问题

大家面试中问到这个问题该怎么答。
首先我把概念和之间的关系给大家简单的说下:

http:是用于www浏览的一个协议。

tcp:是机器之间建立连接用到的一个协议
1.TCP/IP 是个协议组,可分为三个层次:网络层,传输层和应用层
在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。
在传输层中有TCP协议与UDP协议。
在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。
因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议。
Http在TCP/IP协议栈中的位置

由图可得:
        http协议通常承载与TCP协议之上,有时也承载与TLS或SSL协议之上,这个时候就成了 https

        http与和https的区别:

https(全称:Hypertext Transfer Protocol over Secure Socket Layer)是以安全为目标的HTTP通道,简单讲师HTTP的安全版.即HTTP下加入了SSL层。所以比http安全,但是https加密之后对信息传输速度有一定的影响,所以任何一种协议都没有一种完美的状态。https在日常用的也比较多,比如我们聊天信息。http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议,http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。

1.TCP的三次握手

SYN(synchronous)是TCP建立连接时使用的握手信号,在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN ACK应答表示接收到了这个消息,最后客户机再以ACK消息响应。这样在客户机和服务器之间才能建立起可靠的TCP连接,数据才可以在客户机和服务之间传递。
上面提到ACK,ACK(Acknowlwdgement),即确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符,表示发来的数据已确认接收无误。
下面就是TCP与UDP的区别:

在面试中经常会问到什么是事务
一次HTTP操作称为一个事务,其工作过程分为四步:1)首先客户机与服务器需要建立连接。只要单击某个超级连接,HTTP的工作开始。2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL),协议版本号,后面是MIME信息包括请求修饰符,客户机信息和可能的内容。3)服务器接收到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号,一个成功或错误的代码,后面是MIME信息包括服务器信息,实体信息和可能的内容。4)客服端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,由显示屏输出,对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。
 HTTP1.0与Http1.1 的区别 :
HTTP/1.0每次请求都需要建立新的TCP连接,连接不能复用。HTTP/1.1新的请求可以在上次请求建立的TCP连接之上发送,连接可以复用,有点事减少重复进行TCP三次握手的开销,提高效率。注意:在同一个TCP连接中,新的请求需要等上一次请求收到响应后,才能发送。
 
(0)

相关推荐