今天爱分享给大家带来http长连接和短连接的区别有哪些【面试题详解】,希望能够帮助到大家。
在HTTP/1.0中默认使用短连接。也就是说,客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。而从HTTP/1.1起,默认使用长连接,用以保持连接特性。
什么是TCP粘包/拆包?发生原因?解决方案
一个完整的业务可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这个就是TCP的拆包和粘包问题。原因:1. 应用程序写入数据的字节大小大于套接字发送缓冲区的大小.2. 进行MSS大小的TCP分段。( MSS=TCP报文段长度-TCP首部长度)3. 以太网的payload大于MTU进行IP分片。
( MTU指:一种通信协议的某一层上面所能通过的最大数据包大小。)解决方案:
1. 消息定长。
2. 在包尾部增加回车或者空格符等特殊字符进行分割
3. 将消息分为消息头和消息尾。
4. 使用其它复杂的协议,如RTMP协议等。