HttpWatch的Result中出现Aborted的原因分析[配图]
转载链接:http://www.cnblogs.com/yutiansanshou/archive/2013/02/01/2889486.html
我们在使用HttpWatch进行Web调试的过程中有时候会看到非HTTP Status Code(状态码)的值, 例如:(Aborted)。
(Aborted)是HttpWatch中定义的三种非HTTP Status Code的其中一种,这些状态信息在HttpWatch中被用来表示服务器没有对发出的请求返回任何Status Code:
- l (Aborted)
- l (Cache)
- l ERROR_*
最后的两个值所表示的含义是显而易见的。(Cache)用来表示请求中所返回的内容不是从服务器中取回的而是直接从浏览器的缓存中取回的。因此如果没有与服务器进行真实的信息交换则服务器不会返回Status Code。另外一种是ERROR_*,它用来表示当IE浏览器请求数据时发生错误导致请求失败。
(Aborted)表示的内容相对上面两个要更加复杂一些,它发生在IE开始处理对指定URL的请求,但请求被中止的情形下。以下是几种请求被中止的典型示例:
- 在页面加载的过程中(例如:正在下载一个图片)用户点击了页面中的一个链接,或点击了浏览器的“停止”按钮。这种情况下IE会中止所有激活状态的请求,HttpWatch中这些被中止请求的result会显示(Aborted)。
- 当用户触发了某个元素的hover事件(hover时会发请求),而在请求的过程中鼠标移出了hover事件绑定的区域时。此时对于还未完成的请求会被IE强制丢弃。
- 有时候开发者会利用ajax去请求数据,但是却没有等待服务器返回数据而是继续进行其它处理时,那些原本应该接收的请求会被IE浏览器强制丢弃。
其实上述问题的核心就是“服务器所接收的请求是否会被(强行)中止?”,这个问题的答案取决于请求何时会被丢弃。通过查看Httpwatch的timing chart可以清楚的看到请求被取消的时机。
下面就是一个请求在连接过程中被中止的例子:
上面的例子中由于请求还没有到达Send阶段因此服务器不会接收到客户端所发出的请求
下面的这个被Aborted情形出现在IE浏览器在等待服务器返回请求结果的过程中
HttpWatch中之所以会定义上述三种信息主要是为了反映出用户与网站见交互的一些信息(非Status Code),而不是表示请求发生了错误
HttpWatch的Result中出现Aborted的原因分析[配图]相关推荐
- java操作集合中 concurrentModifyException 异常的原因分析
java操作集合中 concurrentModifyException 异常的原因分析 参考文章: (1)java操作集合中 concurrentModifyException 异常的原因分析 (2) ...
- Android中app卡顿原因分析示例
http://www.cnblogs.com/zhucai/p/weibo-graphics-performance-analyse.html 朱才 专注于Android图形动画 MIUI工程师 博客 ...
- 模型训练过程中产生NAN的原因分析
模型训练过程中产生NAN的原因分析 在模型的训练过程中发现,有时在经过多轮训练后loss会突然变为nan.loss变为nan也就使权重更新后的网络里的参数变为了nan,这样就使整个训练无法再进行下去了 ...
- 深度学习网络训练中出现nan的原因分析
报错: nan:Not a Number 该错误导致的后果:造成训练准确率的断崖式下跌 错误原因分析: 1)在loss函数中出现nan 出现原因:一般是因为tf中的log函数输入了'负数'或'0'值( ...
- KingbaseES共享集群中crm_mon命令失效原因分析
目前,在国家的支持下,国产操作系统蓬勃发展.KingbaseES共享集群在开发过程中,已经考虑了诸多跨平台问题,但是在和各个厂商的操作系统适配中,仍然有一些意想不到的问题. 在aarch64平台和lo ...
- Lua(Codea) 中 table.insert 越界错误原因分析
2019独角兽企业重金招聘Python工程师标准>>> Lua(Codea) 中 table.insert(touches, touch.id, touch) 越界错误原因分析 背景 ...
- python import random 报错_导致python中import错误的原因是什么
Python程序可以调用一组基本的函数(即内建函数),比如print().input()和len()等函数.Python本身也内置一组模块(即标准库).每个模块都是一个Python程序,且包含了一组相 ...
- java产生死锁的主要原因_详解java中产生死锁的原因及如何避免
1. Java中导致死锁的原因 Java中死锁最简单的情况是,一个线程T1持有锁L1并且申请获得锁L2,而另一个线程T2持有锁L2并且申请获得锁L1,因为默认的锁申请操作都是阻塞的,所以线程T1和T2 ...
- 基于继承类的属性模版中无法绑定的原因和解决方法
原文:基于继承类的属性模版中无法绑定的原因和解决方法 这个的晚上想学学WPF 做一个类似于ERP 左边菜单.构思一下思路 ...... 创建一个类基于Expander类. 1 public class ...
最新文章
- 2015-03-06——正则表达式基础
- POJ1321 棋盘问题
- mysql列名可以用中文吗_用了这么久的MySQL,你知道它的存储引擎吗?
- Office365邮箱Imap迁移步骤
- Matlab循环读取txt文件并对其中数据进行计算最后导出为excel
- PHP array_combine()
- redis设置为控制台打印日志
- 受限玻尔兹曼机(Restricted Boltzmann Machine)分析
- apache ignite_Apache Ignite本机持久性,简要概述
- NetBeans 8.0的五个新性能提示
- 蛇哥开局两星机器人视频_虎牙粉丝活动落幕,蛇哥骚男夺冠,拿下季军的吃鸡一姐直播却哭了...
- java视频编辑怎么实现_OpenGL 实现视频编辑中的转场效果
- pycharm 敲代码时的效果插件_Pycharm超好用插件
- 做正确的事和正确的做事的区别
- USB key身份认证介绍
- 84.常用的返回QuerySet对象的方法使用详解:select_related, prefetch_related
- python地图 两点距离_使用python计算google地图中两点之间的距离
- oracle实现aes解密_AES加解密程序的实现
- Linux内核延迟写机制学习
- 第一代GCN: Spectral Networks and Locally Connected Networks on Graphs