Web端为什么不会发送http请求给服务器的原因

本文讲述了在Web应用中遇到的一个问题,即重复点击看图按钮后,浏览器出现无响应现象,主要在IE6和IE8中尤为明显。通过排查发现,问题源于HTTP连接未完全关闭,处于close_wait状态。浏览器限制了每个服务的并发连接数,当达到上限后,由于未关闭的连接无法发送请求,导致无响应。问题的根源在于代码中在关闭事件触发时立即关闭窗口,打断了TCP/IP关闭连接的四次握手过程。解决方案是确保在服务器完成关闭请求后再关闭窗口。
摘要由CSDN通过智能技术生成

   在做项目的时候,遇到一个很奇葩的问题,公司再监督影像查询模块,在点击看图按钮后,网页上展现图像和业务信息,然后把网页关闭,重复做这种动作两次或者更多次后,将会出现浏览器点击无响应的情况。这种情况在不同的浏览器下面,表现的还不尽相同。IE6浏览器重复2次,将不会响应,ie8重复十几次或者几次,也会出现不响应。IE9表现得更加稳定,几乎不会出现无响应的现象,偶尔出现。但有些客户使用的是IE6浏览器,这就比较让人烦躁了,看两张图像后,浏览器就会出现无响应的状况,这样子是会让人疯掉的。
        该问题从发现到解决,大概经历了三个月时间。从开始怀疑前端页面代码有问题,到怀疑后台代码有问题,到最后怀疑是操作系统的问题,各种怀疑后,都未能找到根本原因。
        最后,在出现问题的时候,我用 netstat-a 查看了本机与服务器的连接状态,发现其中本地与服务器的两个http连接都是处于close_wait状态,这是个不完全关闭的状态。tcp/ip 协议中,一个连接在创建时,要经过三次握手协议,在关闭时要经过四次握手协议。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值