http连接和请求

时间:2015-12-02 03:23:31

标签: http nginx

我正在配置我的nginx,我发现了两个模块:ngx_http_limit_conn_modulengx_http_limit_req_module 一个用于限制每个定义键的连接,一个用于限制请求。

我的问题是什么是它们之间的关系(和差异) http连接和请求。 似乎多请求并使用一个常见的http连接,这个原理是什么?

2 个答案:

答案 0 :(得分:2)

HTTP连接-客户端和服务器进行自我介绍。

HTTP请求-客户端向服务器询问问题。

与服务器建立连接涉及TCP握手,并且基本上是在与服务器建立套接字连接。要发出HTTP请求,您应该已经与服务器建立连接。如果与服务器建立了连接,则可以使用同一连接发出多个请求(默认情况下,HTTP / 1.0每个连接一个请求,默认情况下HTTP / 1.1保持活动)。由于大多数网页都需要服务器提供多种资源(例如:要在屏幕上加载100张照片)。如果我们保持连接并使用相同的连接请求那100张图像,则对服务器的负担很小(无需经过100次连接建立过程)。这就是HTTP / 1.0默认使用keep alive的原因。

答案 1 :(得分:1)

基本建立连接以使用它进行请求。因此,例如,给定密钥的端点可以从给定的IP地址每小时接受5个连接。但这并不意味着只能提出5个请求,而是更多 - 如果连接在请求后没有关闭(来自HTTP 1.1,它默认保持活动状态)。

E.g。端点接受来自给定IP地址的5个连接和10个请求。如果为每个请求建立连接,则只能进行总共5个请求。如果连接保持活动,则单个客户端可以发出所有请求。如果有5个客户端,则每个客户端建立一个连接并使其保持活动状态,大约有2个请求。这可以由每个客户端进行 - 但是如果它足够快,可以提出所有请求。