http协议 应用层、tcp协议 传输层。
tcp三次握手建立连接通道,发送数据完毕,http会立即将tcp断开。
http连接是一种短连接,无状态的连接,HTTP协议是建立在TCP协议之上的一种应用。
三次握手比喻:
张三和 李四 想进行通话:
张三:“喂,你在么?我在的,我的口令是 j。”
李四:“我收到你的口令 j 并准备好了,你准备好了吗?我的口令是 k。”
张三:“我收到你的口令 k 并准备好了,我们开始吧。”
连接的时候是3次握手,而关闭的时候却是4次握手?
多一次握手,关闭连接时,当服务端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,“你发的FIN报文我收到了”。只有等服务端所有的报文都发送完了,才能发送FIN报文,多出一步操作,所以需要四次握手。
当服务端收到客户端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中,ACK报文是用来应答的
,SYN报文是用来同步的
。
HTTP/HTTPS连接的超时时间是如何规定的?
•HTTP长连接的请求数量限定是最多连续发送100个请求
,超过限定将关闭这条连接。
•HTTP长连接两个HTTP/HTTPS请求之间的超时时间为15秒
(存在误差1-2秒),超过后会关闭TCP连接,如果用户有长连接使用需求请尽量保持在13秒之内发送一个心跳请求。
•负载均衡与后端一台ECS实例TCP三次握手完成过程的超时时间为5秒,超时后选择下一台ECS实例;查询访问日志的upstream响应时间可以定位。
•负载均衡等待一台ECS实例回复请求的响应时间是60秒,超过后一般会返回504响应码或408响应码给客户端;查询访问日志的upstream响应时间可以定位。
•HTTPS session重用超时间为300秒,超过后同一客户端需要重新进行完整的SSL握手过程。