TCP/IP、UDP、HTTP、websocket协议等网络相关

        1.HTTP和WebSocket协议的区别:

HTTP是无状态的短连接,就是经过一次一来一回的即断开连接。无法记录状态,所以引进session还有cookie弥补他无状态的缺陷。在HTTP上实现长连接以前可用AJAX轮询(就是隔一段时间发送ajax来保证数据,但这样会耗费大量资源)。

WebSocket是在H5之后发布的,可以实现双向通信,也是基于TCP的应用层协议。 在他的握手请求中会比HTTP协议多出两行代码:

Upgrade: websocket
Connection: Upgrade

                他保证了服务器识别改协议为WebSocket协议。

       

2.网络由上往下是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

        3.TCP和UDP是传输层上的协议、IP是网络层上的协议。 像HTTP和WebSocket都是基于TCP的应用层协议。

        4.TCP之上必须有应用层的协议,当然也可以自定义协议,不然无法识别数据。

几个有关于网络面试题的摘抄:

TCP的三次握手:

第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

  第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

  第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。

理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。

断开连接时服务器和客户端均可以主动发起断开TCP连接的请求,断开过程需要经过“四次握手”

TCP和UDP的区别:

1、TCP是面向链接的,虽然说网络的不安全不稳定特性决定了多少次握手都不能保证连接的可靠性,但TCP的三次握手在最低限度上(实际上也很大程度上保证了)保证了连接的可靠性;

  而UDP不是面向连接的,UDP传送数据前并不与对方建立连接,对接收到的数据也不发送确认信号,发送端不知道数据是否会正确接收,当然也不用重发,所以说UDP是无连接的、不可靠的一种数据传输协议。

  2、也正由于1所说的特点,使得UDP的开销更小数据传输速率更高,因为不必进行收发数据的确认,所以UDP的实时性更好。

  知道了TCP和UDP的区别,就不难理解为何采用TCP传输协议的MSN比采用UDP的QQ传输文件慢了,但并不能说QQ的通信是不安全的,

  因为程序员可以手动对UDP的数据收发进行验证,比如发送方对每个数据包进行编号然后由接收方进行验证啊什么的,

  即使是这样,UDP因为在底层协议的封装上没有采用类似TCP的“三次握手”而实现了TCP所无法达到的传输效率。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTTPTCPUDPWebSocket都是计算机网络协议,用于不同的通信目的。HTTP是一种协议,用于在Internet上发送和接收文档。它是Web的基础,并且是被用于万维网的最常用协议HTTP属于应用层,使用TCP协议传输数据,是一个无状态协议TCP协议是一种面向连接的、可靠的协议,用于两个网络应用程序之间的通信。TCP协议采用三次握手确认客户端与服务器之间的连接,数据发送双方必须先建立可靠连接,然后才可以开始传输数据,当数据传输出错或丢失时,TCP会自动重传数据,从而保证数据传输的可靠性。TCP属于传输层协议,基于IP层提供端到端的传输可靠性。 UDP是一种无连接的、不可靠的网络协议,它使用尽力而为的数据传输方式。数据包可能会丢失或重复,但UDP协议具有更短的传输时延和更小的传输开销,适用于对传输可靠性较低要求的应用场景,比如DNS查询和视频流传输等场景。UDP属于传输层协议,基于IP层提供传输服务,与TCP协议相比,UDP没有TCP协议的连接建立、流量控制、拥塞控制等功能。 WebSocket是一种基于TCP协议的应用层网络协议,它是一种双向通信协议,在传统的Web应用中,浏览器只能向服务器发起请求,服务器不能主动向浏览器发送数据。但在WebSocket协议中,客户端和服务器可以随时互相发送数据,WebSocket提供一个长久的、双向的网络通信通道,可以在服务器端主动向客户端发送消息,从而节省了一些开销,提高了通信效率。WebSocket通常用于实时通信、在线游戏、协作办公等应用场景,它是建立在HTTP协议之上的,通过HTTP的握手阶段建立连接,然后进行数据传输。 总之,HTTPTCPUDPWebSocket都是计算机网络领域中重要的协议,它们各自有其应用场景和特点,了解它们的不同特点,有助于我们在实际应用中进行合理的选择,提高网络通信的效率和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值