浏览器加载各时间节点对应的状态
来源:互联网 发布:预告片 知乎 编辑:程序博客网 时间:2024/06/05 13:27
prompt for unload提示卸载
navigationStart
当访问一个新页面时,当前页面卸载完成所返回的时间点,如果没有当前页面,则返回fetchStart时间点。
unloadEventEnd
如果要打开的页面和当前的页面同源,则返回用户unload事件执行完成后的时间点,如果当前文档不存在或者不同源,则返回0
redirect
forward内部跳转 和redirect重定向跳转的区别:
1.从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
2.从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.
3.从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
4.从效率来说
forward:高.
redirect:低.
redirectStart
如果是HTTP重定向,如果跳转都是同源的,则返回开始获取发起重定向的时间点,否则返回0(重定向:重定向就是写代码时候用response.sendRediect(String url);绑定session它的好处就是请求一次,加载一次。对比就是流程是转发。转发就是RequestDischer(String url);他的缺点是改变一次网页就要请求一次,用的越来越少了。重定向常常用于自动跳转,从活动空间来看大概分两类:服务器内部跳转和服务器之间跳转。服务器内部跳转常见于“登陆成功!5秒之后将自动进入首页”这种应用。而服务器之间跳转,种类稍微多一些:
(1)从服务器内跳往外部服务器;
(2)从A服务器跳转到B服务器,接着跳转到C服务器;
(3) 从A服务器跳转到B服务器, 业务处理完毕之后又跳转到A服务器;
(4) 从用户浏览器向A服务器发送请求,在出口网关处进行重定向,如通过iptable之类,重定向到一个认证服务器B,返回一个认证登陆的页面,当用户输入了正确的用户名和密码等,认证服务器B再通过http重定向到A服务器.
404 Not Found
301 Moved Permanently
302 Found
500 Internal Server Error
HTTP重定向就是通过301和302两种状态码来实现的。
302是临时重定向。表示被访问页面因为各种需要被临时跳转到其他页面。 浏览器在收到302 Found的状态码之后会在返回的HTTP Response Header中查找Location字段,然后访问对应地址。
301是永久重定向。同样,浏览器在发现301的状态码之后会查找Location字段,然后访问那个地址。Location字段的格式很随意,既可以是绝对地址,也可以是相对地址,还可以是相对根目录的地址。
301重定向和302重定向在SEO以及缓存上是有非常大区别的。对于SEO也就是搜索引擎优化,一个页面302重定向到另一个页面,新页面的PageRank不会受原页面影响。而一个页面301重定向到另一个页面,原页面的PageRank会被传递到新页面。所以对于一个网站进行域名转换,最好的方法就是使用301重定向,在经过一段时间之后可以不损失PR地将全站转移到新域名下。)
redirectEnd
如果是同源重定向,返回重定向请求接收完最后一字节的时间点,否则返回0
app cache(输完地址请求地址后检查缓存,若有相关信息,则直接打开,若无,则获取一个新的资源)
fetchStart
如果请求是用http get发起的,返回浏览器查缓存之前的时间点,否则返回发起获取资源的时间点
DNS(域名系统 )
domainLookupStart
返回浏览器发起DNS查询的时间点,如果是长连接或者请求文件来自缓存等本地存储则返回fetchStart时间点
domainLookupEnd
返回结束DNS查询的时间点,如果是长连接或者请求文件来自缓存等本地存储则返回fetchStart时间点
TCP(网络协议-传输控制协议)
connectStart
返回浏览器向服务器发起建立获取当前文档的连接请求的时间点,
如果是长连接或者请求文件来自缓存等本地存储则返回domainLookupEnd时间点
connectEnd
返回与服务器建立完成连接的时间点,
如果是长连接或者请求文件来自缓存等本地存储则返回domainLookupEnd时间点
request
requestStart
返回浏览器发起请求的时间,不管是向server还是本地缓存或存储
response
responseStart
返回浏览器拿到第一个响应字节的时间点,包括从服务器、缓存或者其他本地存储
responseEnd
返回浏览器拿到最后一个响应字节或者传输连接关闭的时间点,包括从服务器、缓存或者其他本地存储
processing
domLoading
返回浏览器将当前文档状态设置成loading的时间点
domInteractive
返回浏览器将当前文档状态设置成interactive(交互)的时间点
domContentLoadedEventStart
返回浏览器触发DOMContentLoaded事件执行之前的时间点
domContentLoadedEventEnd
返回浏览器触发DOMContentLoaded事件执行完成的时间点
domComplete
返回浏览器将当前文档状态设置成complete的时间点
load(load状态下可能load()方法会在onload事件上绑定处理函数(处理函数绑定给window对象),会在所有内容加载完毕后触发,若处理函数绑定在元素上,会在元素内容加载完后触发。)
loadEventStart
返回浏览器触发load事件执行之前的时间点,否则为0
loadEventEnd(浏览器加载转圈结束时在该时间点)
返回浏览器触发load事件执行完成的时间点
- 浏览器加载各时间节点对应的状态
- 根据浏览器语言,页面动态加载对应的js文件
- js判断浏览器加载对应CSS
- js判断浏览器加载对应CSS
- 如何比较不同浏览器的页面加载时间
- 各大浏览器内核特性及对应的Browserhacks举例
- 一次性加载树的所有节点在数据多的时候会使树的响应时间延长
- 两个时间对应的干支
- 输出时间对应的人数
- 谷歌浏览器测试网页加载时间
- 获取 GMT 时间对应的 CST 时间
- 浏览器的加载过程
- IE浏览器内容加载完毕,但进度条加载很慢/IE进度条一直loading总处于未完成状态的问题
- XMLHTTP(readyState,status)对应的状态值
- xmlHttp(readyState,status)对应的状态值
- Android getVisibility()返回值对应的状态
- 常见HTTPError对应相应的状态码
- 浏览器127.0.0.7对应localhost的地址
- Ubuntu 更改文件夹权限及chmod详细用法
- 第4章 处理用户输入与显示数据------------(getopt命令)
- yum install需要公钥 | fedora25安装 mplayer
- 有return的情况下try catch finally的执行顺序
- 数组中的逆序对
- 浏览器加载各时间节点对应的状态
- Javascript变量提升(Hoisting)
- android 事件分发,onInterceptTouchEvent()和onTouchEvent()总结,OnTouchListener。
- 【JVM类加载机制】从一个对象的验证问题说开去
- jersey学习笔记1-简单的例子
- CSS里面position:relative与position:absolute 区别
- 多线程+Race Condition现象及产生的原因
- tomcat配置https及访问
- 获取inflater的多种方法