HTTP/1.1 "persistent" 连接

一、persistent 连接

(1) HTTP/1.1 逐渐停止了对 keep-alive 连接的支持,用一种名为持久连接(persistent connection)的改进型设计取代了它,持久连接的目的与 keep-alive 连接的目的相同,但工作机制更优一些。
(2) HTTP/1.1 持久连接默认是激活的,应用程序必须添加一个 Connection:close 首部才能在事务处理结束之后将连接关闭
(3) 客户端和服务器可以随时关闭空闲的连接

二、persistent 连接的限制

(1) 发送了 Connection:close 请求首部之后,客户端就无法再那条连接上发送更多的请求了
(2) 只有当连接上的所有报文都有正确的自定义报文长度(Content-Length)时连接才能持久保持
(3) HTTP/1.1 的代理必须能够分别管理与客户端和服务器的持久连接
(4) HTTP/1.1 的代理服务器不应该与 HTTP/1.0 客户端建立持久连接
(5) 一个客户端对任何服务器或代理最多只能维护两条持久连接,以防服务器过载

时间: 2024-08-24 10:08:54

HTTP/1.1 "persistent" 连接的相关文章

前端学HTTP之连接管理

前面的话 HTTP连接是HTTP报文传输的关键通道.要掌握HTTP就需要理解HTTP连接的来龙去脉以及如何使用这些连接 如果想查看一个网页,浏览器收到URL时,会执行下图所示的步骤.将服务器的IP地址和端口号从URL中分离出来,建立到Web服务器的TCP连接,通过这条连接发送一条请求报文,然后读取响应,最后关闭连接 TCP概念 世界上几乎所有的HTTP通信都是由TCP/IP承载的,TCP/IP是全球计算机及网络设备都在使用的一种常用的分组交换网络分层协议集.客户端应用程序可以打开一条TCP/IP

HTTP - 持久连接

Web 客户端经常会打开到同一个站点的连接.比如,一个 Web 页面上的大部分内嵌图片通常都是来自同一个 Web 站点,而且相当一部分指向其他对象的超链接通常都指向同一个站点.因此,初始化了对某服务器 HTTP 请求的应用程序很可能会在不久的将来对那台服务器发起更多的请求.这种性质被称为站点本地性(site locality). 因此,HTTP/1.1(以及 HTTP/1.0 的各种增强版本)允许 HTTP 设备在事务处理结束之后将 TCP 连接保持在打开状态,以便为未来的 HTTP 请求重用现

HTTP系列(二):连接管理

一.TCP连接 TCP 为 HTTP 提供了一条可靠的比特传输管道.从 TCP 连接一端填入的字节会从另一端以原有的顺序.正确地传送出来. TCP 的数据是通过名为 IP 分组(或 IP 数据报)的小数据块来发送的. HTTP就是"HTTP over TCP over IP"这个"协议栈"中的最顶层了.其安全版本 HTTPS 就是在 HTTP 和 TCP 之间插入了一个(称为 TLS 或 SSL的)密码加密层. HTTP 要传送一条报文时,会以流的形式将报文数据的内

http协议进阶(五)连接管理

几乎所有的HTTP通信都是由TCP/IP承载的,TCP/IP是全球计算机网络设备都在使用的一种分组交换网络分层协议集. 它的特点是只要连接建立,客户端与服务器之间的报文交换就永远不会丢失.受损或失序. 一.TCP连接 1.TCP是可靠数据通道 TCP是英特网上的可靠连接,TCP为HTTP提供了一条可靠地比特传输通道,从TCP连接一端填入的字节会从另一端以原有的顺序.正确的传送出来. TCP会按序.无差错的承载HTTP数据,如下图: 2.TCP流是分段的,由IP分组传送 TCP的数据是通过名为IP

5.zookeeper应用案例之分布式服务器动态上下线感知

zookeeper应用案例之分布式服务器动态上下线感知,当服务器上线和下线时候客户端都能感知到,还有哪些机器在线.并对zookeeper管理的服务器进行节点的监听; 代码实现:客户端 每当服务端有服务器上线或下线 在客户端都能通过监听感知到 package org.zookeeper.anli; import java.util.ArrayList; import java.util.List; import org.apache.zookeeper.WatchedEvent; import o

Kubernetes连接外部数据源

Kubernetes架构下比较核心的问题是数据如何persistance,虽然提供了Persistent volumn的方式,但是对于像数据库之类的产品在kubernetes集群环境中运行和管理还是很有难度的,Kubernetes提供了endpoints这种模式让外部的服务映射成内部的服务,这样比较好的解决了集群对外的连接问题, 如果我们去连接外部的一个oracle数据库,具体的步骤如下: 建立endpoints和service. [[email protected] jdbcservice]#

LVS负载均衡之持久性连接介绍(会话篇)

在实际生产环境中,往往需要根据业务应用场景来设置lvs的会话超时时间以及防session连接丢失的问题提,如在业务支付环节,如若session丢失会导致重复扣款问题,严重影响到安全性,本小节解将会讲到关于lvs持久性连接问题 一.lvs负载均衡持久连接介绍: 引子(案例) 对于电子商务网站来说,用户在挑选商品的时候使用的是80端口来浏览的,当付款的时候则是通过443的ssl加密的方式,当然当用户挑选完商品付款 的时候,我们当然不希望https的443跳转到另外一台REAL SERVER上,很显然

HTTP的长连接和短连接——Node上的测试

    本文主要从实践角度介绍长.短连接在TCP层面的表现,借助Node.JS搭建后台服务,使用WinHTTP.Ajax做客户端请求测试,最后简单涉及WebSocket.     关键字:长连接.短连接.Node.JS.WebSocket. 一两年前,在理论上对长短连接做了学习,那时的技能以客户端为主,所以也止步于客户端和网络抓包,两年来后台技术渐有把握,打算从前到后的实践一遍.如对理论有不理解的,可以先google/百度 一下,或者看看这篇偏理论的介绍:HTTP的长连接和短连接. 1 短连接的

HTTP的持久连接对Web服务性能的影响

我们的 Web 页面通常有很多对像(Object)组成.如:jss 样式表.图片.scripts.文档等.所以用户浏览一个网页文件时候,要向 Web 服务器发送多次请求(要从服务器上获取一个Object就要向服务器发送一个请求),浏览器根据 jss 样式表把从服务器获取的这些html页面对象合成一个完整的html页面展示给用户.        最早我们的浏览器是单线程的,意味着一次只能向浏览器发送一个Object请求,等到该Object传输完成了,再向服务发送第二个Object的请求.我们把它称