使用Unix术语(接近通用 - 套接字在Unix的BSD风格中引入并从那里传播到任何地方),几乎任何TCP网络服务器(web或其他)都将在一个绑定到"a"的套接字上进行监听.众所周知的端口"(通常但不一定是HTTP服务器的端口80).当客户端连接 s时,服务器会得到通知(以OS依赖的方式),然后它可以在侦听套接字上执行接受,这会创建一个新的套接字.
根据正在使用的HTTP协议级别(正常的1.1或旧的但仍然使用的1.0)和请求中的一些标头,客户端可能会要求一次性使用套接字(它只处理一个请求和一个请求)这些天,或者更常见的是,持久的(也称为旧的术语,可追溯到HTTP晚期1.0天,作为"保持活跃"连接).服务器不必遵守客户端对连接的持久请求,但通常会尝试,因为它使客户端性能更好.每个服务器肯定会选择他们自己的启发式方法来确定何时加载太多(一次请求的请求太多)以满足持久连接请求.
即使在使用持久连接时,HTTP仍然是无状态的 - 客户端可以在仍然打开的套接字上发出不同的请求,和/或尝试打开不同的套接字,而HTTP只是分别处理每个请求/响应对.套接字的持久性只能节省TCP握手和c的时间(因为HTTP确实在TCP之上工作,每个新的TCP连接需要自己的握手,&c).
| 归档时间: |
|
| 查看次数: |
8597 次 |
| 最近记录: |