`
jobar
  • 浏览: 348183 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
已经注入了过滤器ShallowEtagHeaderFilter @Bean public Filter etagFilter() { return new ShallowEtagHeaderFilter(); } 但ETag响应头没有生成。 解决过程: 查看ShallowEtagHeaderFilter源代码,发现这个方法: protected boolean isEligibleForEtag(HttpServletRequest request, HttpServletResponse response, int responseStatusCode, byt ...
参见:https://developer.yahoo.com/performance/rules.html#cacheajax
什么事ETag HTTP协议规格说明定义ETag为“被请求变量的实体值”。另一种说法是,ETag是一个可以与Web资源关联的记号(token)。典型的Web资源可以一个Web页,但也可能是JSON或XML文档。服务器单独负责判断记号是什么及其含义,并 ...
参见:https://developer.yahoo.com/performance/rules.html#js_dupes 显而易见,重复的脚本,增加了http请求数,移除重复脚本可以提高网站性能
重定向(redirect)将用户从一个URL路由到另一个URL。 重定向的类型:当web服务器向浏览器返回一个重定向时,响应中就会包含一个3xx的状态码,表示用户代理必须进一步操作才能完成请求,下面是几种状态码: • 300 Multiple Choic ...
1 精简压缩 精简是从代码中移除空格注释等不必要的字符以减少大小,进而减少页面加载的时间。代码被精简之后,所有的注释以及不必要的空白字符(空格,换行和制表符)都被删除,对js文件来说,由于文件大小减小了,从而可以改善用户响应时间。 2 混淆 混淆是另外一种优化方式,不仅会移除不必要的代码,还会修改代码本身,函数和变量名字被转换为更短的字符串,这使得代码更精简且难以阅读和调试,这样做增加了反向工程的难度,这也是混淆的目的,它比精简更能减小代码大小从而提供性能。混淆相比精简更复杂一些,有三个主要缺点: 1 混淆更复杂,混淆过程中有可能引入新的bug 2 混淆会改变js符号,因此需要对不 ...
百度百科对DNS的说明:DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对 ...
将脚本或css放页面里面叫做内联,将脚本放一个单独的文件里,在页面通过链接引用叫做外部引用。 相比外部引用,内联方式,在页面下载的时候,脚本和css都一起下载了,减少了http请求次数,然而增加了页面的大小,增加了网络负载 采用外部引用的方式,页面的下载和css或者js的下载可以并行执行,这可以减少页面的大小,但增加了http请求数。浏览器可以缓存js或者css文件,用户再次访问时候,可以直接从缓存里面读取。特别是当脚本或css很大的时候,对网站性能的优化是比较明显的。 另外其他页面也可以复用js和css文件,当用户在页面之间跳转的时候,浏览器可以直接从缓存里面获取js或者css文件。并且 ...
参考:https://developer.yahoo.com/performance/rules.html#css_expressions css表达式在IE8之后就不再支持,对现在的网站性能优化已经没有特别的指导意义了。
在页面渲染时,js跟css渲染时的顺序恰好相反,浏览器会先下载js脚本,然后再下载js脚本后面的组件,这样渐进式渲染会阻塞脚本下面的所有元素,将脚本移到页面底部的方式可以解决这个问题。 如下图所示,js下载时间需要大约10s,js分别放在三个不同的位置,页面顶部,中间和底部,页面渲染元素的区别,一目了然。
渐进式渲染 html页面渲染是一个渐进式的过程。当浏览器加载页面时,先是头部,导航条,logo等,这给等待页面的客户一个良好的反馈,提高了用户体验度。 如果把css放在底部,这种行为在大部分浏览器中会阻止页面的渐进式渲染,当元素的样式改变时以避免浏览器元素的重绘。浏览器将会等待css文件一直到下载完成为止,在这段时间内,用户看到的页面是空白的。然后css下载完成后,页面被渲染出来展现给用户。这种现象叫做“白屏” 将css文件用link标签放在文档头部可以避免这种问题 <link rel="stylesheet" href="styles1.css& ...
从HTTP/1.1开始,web客户端在http请求头Accept-Encoding里支持压缩技术    Accept-Encoding:gzip, deflate, sdch      如果服务器看到这个请求,就可以用客户端给定列表里面的压缩方法压缩响应数据,web服务器使用响应头Content-Encoding来通知 ...
Expires头    浏览器使用cache来减少http请求并降低响应内容的大小,使得页面加载速度更快。web服务器使用Expires头来通知web客户端它可以使用当前已cache的组件直到时间超期。http规范中是这么描述的:the date/time after which the response is considered stale.由http响应发送给客户端 Expires: Thu, 19 Jun 2016 20:00:00 GMT    如果这个是在下载页面中图片的时候返回的,那么浏览器就会在后续的页面中使用cache中的图片。从而减少了http请求数量。   Max-Age ...
CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。 关键技术有: (1)内容发布:它借助于建立索引、缓存、流分裂、组播(Multicast)等技术,将内容 ...
原文参见:https://developer.yahoo.com/performance/rules.html 尽可能的减少http请求 总所周知:终端用户响应时间只有10-20%的时间是用来下载html页面,而80-90%的时间消耗在下载各种页面组件上,所以尽可能的减少http对服务器的请求是有效提高网站性能的方法之一 这些包括图像、脚本、css文件,flash等等。 1、采用image maps image maps可以将多个url关联到一个图像上 <img usemap="#map1" border=0 src="/images/imag ...
Global site tag (gtag.js) - Google Analytics