加微信群网站怎么做的,网站推广做多大尺寸,百度域名是什么意思,安徽省经工建设集团公司网站看了构建高性能的web站点一书#xff0c;对其中的集中web缓存进行一个总结 1 应用程序实现的动态页面缓存
应用程序把动态文件生成的html文件缓存到文件服务器#xff0c;以后用户请求动态文件#xff0c;直接从文件服务器加载对应的静态缓存的html文件返回给用户#xff… 看了构建高性能的web站点一书对其中的集中web缓存进行一个总结 1 应用程序实现的动态页面缓存
应用程序把动态文件生成的html文件缓存到文件服务器以后用户请求动态文件直接从文件服务器加载对应的静态缓存的html文件返回给用户这里面主要节省了动态语言的执行时间和数据库访问时间。但是会增加了缓存框架的加载和缓存查找的时间。 2 把解释执行的开发语言编译成为目标代码
这个主要把解释执行的高级语言例如javaphp直接编译成为平台相关的目标代码汇编代码。在java里面比较著名的就是即时编译器JIT其他的语言也要类似的机制。这里面主要节省了就是解释执行代码的时间。这个会增加即时编译的时间。 3 利用反向代理服务器的缓存
利用类似nginx的反向代理服务器对请求的url对应的输出的进行缓存。这个缓存和应用程序实现的动态页面缓存类似只不过用反向代理充当了应用程序的缓存实现。主要节省了动态余元执行时间和数据库访问时间。 4 客户端浏览器缓存
客户端浏览器缓存主要是通过在http头部增加
Last-Modified,If-Modified-Since,Expires,Cache-Control等标识和服务器进行协商是否是采用客户的本机缓存来实现。
4.1 通过Last-ModifiedIf-Modified-Since方式和服务器通信客户发出http请求中包含If-Modified-Since如果服务器端代码没有修改服务器端返回302响应代码的请求响应头内容不返回客户端则直接用本机缓存的内容缓存显示结果。相当于节省了服务器执行代码时间以及数据传输时间。
4.2 通过Expires,Cache-Control控制客户端发现如果上次请求的页面还未过期通过Expires或者Cache-Control进行辨别则直接显示本机缓存的内容不与服务器进行通信。 总结一下1 一般的高并发的应用程序都在web层采用了以上几种缓存一般静态资源图片jscss都会采用nginx反向代理客户端缓存来实现。 2 对于门户网站尤其是首页的新闻一般都会缓存起来可以通过反向代理也可以通过应用程序缓存实现方式 3 对于下载或者视频网站由于数据传输比较大直接采用浏览器本地缓存实现。