http - IIS HTTP 保持事件

标签 http iis connection keep-alive

我读到 Keep-Alives 是为了提高性能 - 因此不需要重新创建连接,只需重用现有连接即可。如果出现流量高峰怎么办,是否会创建新连接?

此外,如果我不打开 Keep-Alive 并处于高流量环境中,它最终会耗尽客户端的连接/套接字端口吗?因为必须为每个 http/web 请求创建一个新连接。

最佳答案

HTTP 是一种无状态协议(protocol)。
在 HTTP 1.0 中,每个请求都意味着打开一个新的 TCP 连接。
这导致了性能问题(例如,必须为每个 GET 或 POST 重新进行 3 次握手),因此添加了 Keep-Alive header 以维护跨请求的连接,在 HTTP1.1 中是默认设置是持久连接。
这意味着该连接可跨请求重用。
我对 IIS 不是很熟悉,但是如果有配置在每次 HTTP 响应后关闭连接,它会影响性能。
关于客户端的套接字/端口用尽,如果客户端发出大量请求并且必须为每个 HTTP 请求打开一个新的 TCP 连接,则可能会发生这种情况。
一段时间后端口将耗尽

关于http - IIS HTTP 保持事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7503728/

相关文章:

java - HTTP 请求传递要搜索的关键字

php - 从远程 mysql 数据库检索图像到 android

ruby-on-rails - 使用正则表达式获取链接

IIS 6 应用程序池不响应多个请求/不运行多线程

c# - 线程运行时回收IIS进程

java - Java中远程连接的连接池

用于后端通信的 RESTful HTTP 服务与直接 TCP 或 WebSockets

asp.net - 如何更改 web.config 文件的名称并让 IIS 从新命名的文件中读取?

php - 如何使用远程连接到 HEROKU PostgreSQL 数据库

java - 服务器应用程序挂起 Java 套接字编程