我正在配置我的 nginx,我发现了两个模块:ngx_http_limit_conn_module和ngx_http_limit_req_module 一个用于限制每个定义的键的连接,另一个用于限制请求。
我的问题是 http 连接和请求之间的关系(和区别)是什么。好像是多个请求,使用一个普通的http连接,这里面的原理是什么?
小智 9
HTTP 连接 - 客户端和服务器自我介绍。
HTTP 请求 - 客户端向服务器询问某些内容。
与服务器建立连接涉及 TCP 握手,它基本上是与服务器创建套接字连接。要发出 HTTP 请求,您应该已经与服务器建立了连接。如果您与服务器建立了连接,则可以使用同一连接发出多个请求(HTTP/1.0 默认情况下每个连接一个请求,HTTP/1.1 默认情况下保持活动状态)。由于大多数网页需要来自服务器的多种资源(例如:在屏幕上加载 100 张照片)。如果我们保持连接并使用同一个连接请求这100张图像,对服务器的负担很小(不需要经历100次连接建立过程)。这就是为什么 HTTP/1.0 提出默认保持活动状态。
基本上建立连接以使用它发出请求。因此,例如,给定密钥的端点每小时可以接受来自给定 IP 地址的 5 个连接。但这并不意味着只能发出 5 个请求,而是更多 - 如果在请求后没有关闭连接(从 HTTP 1.1 开始,它默认保持活动状态)。
例如,端点接受来自给定 IP 地址的 5 个连接和 10 个请求。如果为每个请求建立连接,则总共只能发出 5 个请求。如果连接保持活动状态,单个客户端可能会发出所有请求。如果有 5 个客户端,每个客户端都建立连接并保持活动状态,则大约有 2 个请求。这可以由每个客户端发出 - 但是,如果速度足够快,则可以发出所有请求。
| 归档时间: |
|
| 查看次数: |
2010 次 |
| 最近记录: |