HTTP/1.0+ "keep-alive" 连接

一、keep-alive 连接

(1) 我们在使用串行连接的时候,比如加载四张图片,当加载第一张图片时,会建立连接,加载完后会关闭连接,加载第二张图片时同样会先建立连接再关闭连接,以此类推,这样就会消耗很多时间,HTTP/1.0+ "keep-alive" 连接在加载完第一张图片的时候会有 keep-alive 检测机制,使得连接保持在活跃状态而不会被关闭,这样就能持续加载了,提高了效率节省了时间。
(2) 实现 HTTP/1.0 keep-alive 连接的客户端可以通过包含 Connection:Keep-Alive 首部请求将一条连接保持在打开状态
(3) 客户端和服务器可以在任意时刻关闭空闲的 keep-alive 连接,并可随意限制 keep-alive 连接所处理事务的数量

二、keep-alive 连接的限制

(1) 在 HTTP/1.0 中,keep-alive 并不是默认使用的,客户端必须发送一个 Connection:Keep-Alive 请求首部来激活 keep-alive 连接
(2) Connection:Keep-Alive 首部必须随所有希望保持持久连接的报文一起发送,否则服务器就会在那条请求之后关闭连接
(3) 不应该与无法确定是否支持 Connection 首部的代理服务器建立 keep-alive 连接

三、哑代理和盲中继

盲中继就是不管 HTTP 报文内容是什么,都进行转发,但是转发 Connection 首部时,如果带有 keep-alive 属性,那么代理并不会理解 keep-alive 的意思,在进行完一次事务 (request-response) 后,代理会将连接关闭,而此时,客户端和服务端都以为持久化连接已经建立了,还在傻傻的等着继续的发送,这个代理就“哑”了。

时间: 2024-10-06 00:40:07

HTTP/1.0+ "keep-alive" 连接的相关文章

centos 安装glassfish4.0 配置jdbc连接mysql

版本glassfish-4.0.zip 1.解压,拷贝到指定安装路径 unzip glassfish-4.0.zip  cp cp glassfish4 /usr/local/ -rf 2.设置glassfish环境变量 vim  /etc/profile export GLASSFISH_HOME=/usr/local/glassfish4 export PATH=.:$PATH:$JAVAHOME/bin:$MYSQLHOME/bin:$GLASSFISH_HOME/bin source /

Lost connection to MySQL server at ‘reading initial communication packet', system error: 0 mysql远程连接问题

在用Navicat for MySQL远程连接mysql的时候,出现了 Lost connection to MySQL server at ‘reading initial communication packet', system error: 0 好恶心,服务器重启了一次,就一上午都是在处理mysql的各种问题. 第一步:找到:my.cnf文件 其实我也不知道在哪里,用指令帮我们找吧. find / -name my.cnf 找到了后. 第二步:vi my.cnf vi my.cnf 在m

spss statistics 19.0配置odbc连接远程oracle数据库

本文档讲的是spss statistics 19.0如何配置odbc连接本地oracle数据库,步骤如下: 1.开启远程oracle数据库服务,开启以下两个即可 2.在本地客户端中,安装好oracle数据库(版本为win32_11gr2_client,主要是为了安装oracle的odbc驱动),通过PL/SQL客户端远程连接数据库,测试是否正常. 在D:\app\Administrator\product\11.1.0\client_1\network\admin目录中,新建tnsnames.o

[日常] 解决mysql localhost可以连接但是127.0.0.1不能连接

在测试mysql的过程中遇到使用localhost可以连接但是127.0.0.1不能连接,原因是localhost使用的本地socket连接,127.0.0.1使用使用的tcp连接 在mysql库的user表中,root账号默认的加密验证方式是auth_socket是,从新使用新的方式生成一下密码加密就可以了 可以更改下用户的加密方式:update user set authentication_string=password("123456"),plugin='mysql_nativ

Zend Studio12.0如何配置连接远程项目?

如何用zend studio12.0来连接自己搭建的Linux系统上的项目,实现本地开发与远程同步? 1.打开File->New->PHP Project from Remote Server; 2.点进去以后, 3.进行连接测试 4.查看是否链接成功 5.配置完成,点击完成,就会自动下载项目文件了.

window用Xmanager4.0的Xstart连接linux远程桌面

安装包: xorg-x11-xauth xterm.x86_64 0:253-1.el6 Execute command path:/usr/bin/xterm Xstart连接Linux远程桌面有一个好处,服务器端不用做什么设置,开启SSH即可. 服务器要有桌面环境,和X Window 用XDMCP连接,服务器端得做一些配置,麻烦. 菜单 Xmanager Enterprise 4 -- Xbrowser 新建一个Xstart会话 协议选ssh, 执行命令 点击后面的按钮选GNOME 建好后打

centos7.0设置网络连接(IP,网关DNS)

用虚拟机装了个centos7.0玩玩,安装界面比原来用的5.x发生了很大的变化,不过过程还是打通小异的,就不记录了.这次安装了一个纯净的环境,当然也没有桌面,没有网络连接,这里记录一下配置网络的过程: 1.虚拟器使用了桥接的方式,直接连接物理网络 2.cd  /etc/sysconfig/network-scripts/  #进入网络配置文件目录 3.vi  ifcfg-eno16777736  #编辑配置文件,添加修改以下内容 HWADDR=00:0C:29:8D:24:73 TYPE=Eth

CentOS 7.0开启网络连接服务(转载)

企业级Linux发行版CentOS安装过后默认是没有开启网络连接服务的,必须手动启动后才能使用网络服务.最新版CentOS 7.0安装后网络配置文件在/etc/sysconfig/network-scripts/目录下,进入该目录后找到其下的网络配置文件:ifcfg-enp0s3(具体文件名会因硬件而异,符合 ifcfg-en* 格式就行),配置文件默认内容如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 HWADDR=00:1C:22:AD:74:43 TY

转载:EntityFramework 6.0< Code First > 连接 Mysql数据库

转载自:http://blog.csdn.net/kmguo/article/details/19650299 网上有很多关于用EntityFrame来连接Mysql数据库的教程,可是很多并不靠谱,转载的太多了.找了很久,总算是配置好了,现在分享一下. 一,安装: 1.开发环境: VS2013与EF6 2.Mysql数据库为:Mysql Server 6.0 3.安装:Mysql for Visual Studio 1.1.1 下载位置:https://cdn.mysql.com/Downloa

CentOS安装GlassFish4.0 配置JDBC连接MySQL

转自:http://linux.it.net.cn/CentOS/course/2014/0724/3319.html 版本glassfish-4.0.zip 1.解压,拷贝到指定安装路径   unzip glassfish-4.0.zip cp cp glassfish4 /usr/local/ -rf 2.设置glassfish环境变量 Linux学习,http:// linux.it.net.cn   vim  /etc/profile export GLASSFISH_HOME=/usr