15、深入探讨持久HTTP连接与Servlet生成GIF图像技术

深入探讨持久HTTP连接与Servlet生成GIF图像技术

1. 持久HTTP连接的应用

1.1 HTTP 1.0的问题

HTTP 1.0存在一个显著问题,即每个请求都需要单独的套接字连接。当获取包含大量小图像或许多小程序类的网页时,与实际文档下载时间相比,建立所有连接的开销可能相当大。

1.2 “keep - alive”扩展与持久连接

为解决上述问题,许多浏览器和服务器支持“keep - alive”扩展。使用此扩展时,服务器会告知浏览器响应中包含的字节数,然后在返回文档后将连接保持一段时间。客户端通过监控接收到的字节数来检测文档是否加载完成,并在同一套接字上重新连接以进行进一步的事务。这种持久连接在HTTP 1.1中成为标准,符合要求的服务器应使用持久连接,除非客户端明确指示不使用(通过“Connection: close”请求头,或间接发送指定HTTP/1.0而非HTTP/1.1且未规定“Connection: keep - alive”的请求)。

1.3 Servlet利用持久连接

如果Servlet嵌入支持持久连接的服务器中,就可以利用这一特性。服务器应处理大部分过程,但它无法确定返回文档的大小。因此,Servlet需要通过 response.setContentLength 方法设置 Content - Length 响应头。Servlet可以通过 ByteArrayOutputStream 缓冲输出,使用字节流的 size 方法获取字节数,然后通过将Servlet的输出流传递

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值