location和location.href跳转url的区别
2017-03-04 22:15
225 查看
使用 location = url 跳转,如果本地之前已经载入过该页面并有缓存,那么会直接读取本地的缓存,缓存机制是由本地浏览器设置决定的。状态码为: 200 OK (from cache) 。
使用 location.href = url 跳转,资源的缓存类型是根据服务器缓存配置决定的,都会向服务端发起请求,状态码会有两种情况: 200 OK 和 304 Not Modified
。前者表示该页面是从服务端重新载入的,后者表示从HTTP 头部的 If-Modified-Since 来判断该资源在服务器端是否有改变,如果没有则从本地缓存中加载,如果有则重新加载。
判断方式为:把浏览器端缓存页面的最后修改时间放到请求头的 If-Modified-Since 中发到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行比较,如果有改变,返回头会带有 Last-Modified 也就是该资源在服务器端的最后修改时间,并返回新的资源;如果没有改变则是上述304的情况。
关于 location.reload 重新加载的缓存机制和 location.href 类似,区别在于如果传入的参数 true ,如: location.reload(true) ,这会强制从服务器重新加载该资源。但这在部分浏览器里,有兼容的差异,如果不生效,可以采用万能的带时间戳方式解决:
location.reload(location.href + '?t=timeStamp') 。类似于采用按键方式的强制刷新。
使用 location.href = url 跳转,资源的缓存类型是根据服务器缓存配置决定的,都会向服务端发起请求,状态码会有两种情况: 200 OK 和 304 Not Modified
。前者表示该页面是从服务端重新载入的,后者表示从HTTP 头部的 If-Modified-Since 来判断该资源在服务器端是否有改变,如果没有则从本地缓存中加载,如果有则重新加载。
判断方式为:把浏览器端缓存页面的最后修改时间放到请求头的 If-Modified-Since 中发到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行比较,如果有改变,返回头会带有 Last-Modified 也就是该资源在服务器端的最后修改时间,并返回新的资源;如果没有改变则是上述304的情况。
关于 location.reload 重新加载的缓存机制和 location.href 类似,区别在于如果传入的参数 true ,如: location.reload(true) ,这会强制从服务器重新加载该资源。但这在部分浏览器里,有兼容的差异,如果不生效,可以采用万能的带时间戳方式解决:
location.reload(location.href + '?t=timeStamp') 。类似于采用按键方式的强制刷新。
相关文章推荐
- location和location.href跳转url的区别
- location和location.href跳转url的区别
- window.location window.location.href 跳转url区别
- location和location.href跳转url的区别
- window.location window.location.href 跳转url区别
- location和location.href跳转url的区别
- location和location.href跳转url的区别
- IE6下window.location.href不跳转到相应url
- 详解location.href几种用法的区别【JS跳转】
- window.location与window.open()的区别 "top.location.href"是最外层的页面跳转
- JS document.URL , windows.location.href 的区别
- window.location.href/replace/reload()--页面跳转+替换+刷新 区别
- location.href="#"与document.url ="#"的区别
- window.location.href='$_SERVER[HTTP_REFERER]'; 跳转处理前一个页面的url
- IE6下window.location.href不跳转到相应url所引发的各种探索
- js实现页面跳转,location.href和location.replace和location.reload的区别
- location.href="#",document.URL="#"与document.url="#"的区别
- location.replace()和location.href=进行跳转的区别
- js用 window.location.href跳转IE和chrome中路径url不一致问题
- window.location.href和document.location.href、document.URL的区别