面试中关于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连接中,新的请求需要等上一次请求收到响应后,才能发送。




 

  • 7
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCPUDP是两种常用的传输层协议,它们在嵌入式系统也有一些区别。 首先,TCP是面向连接的协议,而UDP是无连接的协议。TCP通过三次握手建立连接,并通过四次挥手断开连接,而UDP在发送数据之前不需要建立连接。 其次,TCP是可靠的通信方式,通过超时重传、数据校验等方式来确保数据的可靠性,不丢失、不重复、按序到达。而UDP由于无需连接的原因,传输速度较快,但不保证可靠交付,可能会出现丢失、重复等问题。 此外,TCP是面向字节流的,将数据看作一连串无结构的字节流,而UDP是面向报文的,每个数据包都是一个完整的报文。 另外,每一条TCP连接只能是点到点的,而UDP不建立连接,可以支持一对一、一对多、多对一和多对多的交互通信。 此外,TCP需要建立连接,首部开销较大,而UDP的首部较小。 最后,TCP是全双工的可靠信道,而UDP是不可靠信道。 综上所述,TCPUDP在嵌入式系统的区别主要体现在连接方式、可靠性、数据处理方式和通信模式等方面。 #### 引用[.reference_title] - *1* *2* *3* [【嵌入式面试】2022年嵌入式经典面试题汇总(网络编程)](https://blog.csdn.net/qq_44330858/article/details/129077287)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值