HTTP协议中keep-alive
2024-09-20 13:16:47
一 . http协议是有连接的协议,这样每一个连接过来都要重新打开一个tcp的http socket,短期内同一个host 对服务器的请求就会很慢,若是能够保持住连接,就可以节省socket open,socket close 等时间,早期在http1.0协议中附加了keep-alive字段,connection:keep-alive ,客户端发送http包含一个keepa-live段,S端识别并返回一个keep-alive这样一个保持的链接就建立了,http1.1 中所有的链接默认都被保持,这时客户端发送一个connection:close 字段表示关闭这个链接.
在linux 上#tcpdump -n host 218.1.57.236 and port 80
监控信息
nginx 上配置
client_header_timeout 默认60s 指定等待client发送一个请求头的超时时间. 如果在超时时间内没有收到任何请求头,nginx返回408 request time out
keepalive_timeout 默认75s S在75s后主动关闭http链接. 配置了这个参数后,S端才会返回keep-alive 的header ,否则即使http1.1 也不会返回header
二. http的keep-alive 和tcp的keep-alive http的keep-alive 相当于保存了一个连接池,使用完之后不会立即销毁而是放在池子里,下次用的时候重新用.tcp的keep-alive 是保活机制,防止对面的服务器挂掉,而浪费这个连接,如果挂掉之后会返回rst.
最新文章
- iOS歌词逐渐变色动画
- unity如何显示血条(不使用NGUI)
- Log4Net配置以及使用
- 关于学习keynote
- RSA和DES------加密和解密类
- spring关于“transactionAttributes”的相关配置
- 一种Android换肤机制的实现
- Warm up
- 数据结构(RMQ):POJ 3624 Balanced Lineup
- mobilize扁平化的fullPage.js类工具使用心得
- ZOJ 2724 Windows 消息队列 (优先队列)
- 首发福利!全球第一开源ERP Odoo系统架构部署指南 电子书分享
- SQL反模式学习笔记3 单纯的树
- Jenkins下载历史Build版本的归档文件
- Windows7 Autoconfiguration IPv4 Address 导致无法上网
- Python中__init__和self的意义和作用
- navicat 和 pymysql
- 如何简单地理解Python中的if __name__ == '__main__'(https://blog.csdn.net/yjk13703623757/article/details/77918633)
- 通过泛型获得继承类的类原型getGenericSuperclass
- go get golang.org/x 包失败解决方法