最近尝试给 Ruby China 的某些页面加入了 ETag,效果很不错,总结了一下:
http://huacnlee.com/blog/use-etag-in-your-rails-app-to-speed-up-loading/
#10 楼 @bhuztez http://codingrants.blogspot.com/2008/04/rending-your-xml-as-html-with-xslt-in.html 看起来不错,不过感觉又学了一套模板语言...
如果 HTML 结构是浏览器解析出来的,那蜘蛛就没法爬了
直接返回给支持 HTML 啊,怎么也得有 fallback,在 Server 端进行 XSLT 的。第一次打开页面的时候,你总得返回个 HTML,万一浏览器不支持,就悲剧了。那个 HTML 里嵌个 JavaScript,检查一下浏览器是否支持 XSLT,支持就设个 cookie。
实际情况是 XSLT 的模板也没法直接 Cache 在本地的,不然模板有修改的时候,没法刷新
用那个 xsl 模板是在 xml 里的 xml-stylesheet 那儿的 href 里指定的
<?xml-stylesheet href="example2.xsl" type="text/xsl" ?>
反正我早就会了......
前端的渲染速度是否好,还不确定
应该比用 JavaScript 渲染 JSON 好多了,毕竟是原生实现啊。另外是用客户端 CPU 换传输时间,是否合算那也只能看情况了。
@huacnlee 不知道是不是 Etag 的原因,原来对同一个 Topic 刷新会变动的 "小贴士", 现在一直显示同一个。并且更新过后的绿色 Alert 条,重复刷新也会一直显示 - -||
不错的点子 最近在折腾性能这一块 俺明天也试试 下面给一个 我整理的一些主要是 server 端缓存的 给大家分享一下 https://gist.github.com/4265619 最后 @huacnlee 号外一下
<!--
____ __ ________ _
/ __ \__ __/ /_ __ __ / ____/ /_ (_)___ ____ _
/ /_/ / / / / __ \/ / / / / / / __ \/ / __ \/ __ `/
/ _, _/ /_/ / /_/ / /_/ / / /___/ / / / / / / / /_/ /
/_/ |_|\__,_/_.___/\__, / \____/_/ /_/_/_/ /_/\__,_/
/____/
========================================================
ruby-china.org
App Environments:
--------------------------------------------------------
Ruby: 1.9.3-p327
Rails: 3.2.9
-->
这个 怎么弄出来的呢
brew install figlet
类似效果,但不是斜体
____ _ ____ _ _
| _ \ _ _| |__ _ _ / ___| |__ (_)_ __ __ _
| |_) | | | | '_ \| | | | | | | '_ \| | '_ \ / _` |
| _ <| |_| | |_) | |_| | | |___| | | | | | | | (_| |
|_| \_\\__,_|_.__/ \__, | \____|_| |_|_|_| |_|\__,_|
|___/
#32 楼 @diudiutang figlet 可以是斜体的吧,我当时就是用 figlet 生成的才对啊
现在在做的项目是把所有关于 current_user 判断的情况从 view 里面抽出来放到 客户端来修改。这样可以做到 cross user cache sharing,效果会提升很多。
#48 楼 @zgm #49 楼 @huacnlee aoner@ubuntu:~$ curl -I 5433.com/cards/sdo-cjpp-jbzh HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Connection: keep-alive Status: 200 X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 3.0.19 ETag: "13085fdf57aadebcabc85c1363b25ab1" Cache-Control: max-age=0, private, must-revalidate X-UA-Compatible: IE=Edge,chrome=1 Set-Cookie: _mg_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJTIwN2VjZjg2MWQxMTZiYmVhYWMwOTYzNzM4MDdjNzI3BjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMWFqU0R5NnNQSUFzUFFSSE82ZE1tQWQxdmRicUdseXh3bDFma3d1b1FlTUk9BjsARg%3D%3D--c3cbb423419f7e97f91787ec08c450c7f8445892; path=/; HttpOnly X-Request-Id: eb53fd1e351b34fecc8d22f29f086431 X-Runtime: 0.025831 Date: Fri, 15 Mar 2013 11:00:36 GMT X-Rack-Cache: miss
curl -I 5433.com/cards/sdo-cjpp-jbzh -H 'if-none-modify: "13085fdf57aadebcabc85c1363b25ab1"'