kor*_*esh 11 php architecture resources facebook
http://static.ak.fbcdn.net/rsrc.php/117600/css/base.css
http://static.ak.fbcdn.net/rsrc.php/z4HBM/hash/3krgnmig.swf
http://b.static.ak.fbcdn.net/rsrc.php/z23ZQ/hash/3ls2fki5.xml
http://static.ak.fbcdn.net/rsrc.php/z7O0P/hash/4hw14aet.png
Run Code Online (Sandbox Code Playgroud)
rsrc.php到底做了什么?我知道rsrc代表资源,而rsrc.php/z [random]/hash或css/file.extenstion从somehwere加载一个文件.
假设/ hash /或/ css /是一个文件夹,它保存像.xml .png .swf这样的文件,但是什么是z [随机]的东西以及他们为什么要从php加载文件?它是用于文件的版本控制还是什么?如果是这样的话(以更简单的方式)?
小智 9
很简单,这些文件存储在数据库中.SELF之后的任何内容(脚本名称,在本例中为脚本是rsrc.php)都作为数据库的参数传递给脚本.我在图像文件上使用自己,你将图像存储起来,存储在数据库中,并且通常使用一些mod_rewrite魔法,你可以将图像的网址设为youtsite.com/images/fish-with-wings这样做:yoursite.com/some-script.php/fish-with-wings这真的告诉数据库要查找从数据库获取图像的标题是= fish-with-wings,它会吐出base64该文件.
在数据库中拥有所有东西的优点是,对于内容编写者来说,它更容易引用文件,你可以删除或清除,甚至用一些很酷的AJAX进行修改,这对于停止热链接也是有用的,facebook在这里没有做但是你可以说,如果网址是完整路径,则重定向到热链接警告.
小智 5
Facebook将rsrc.php用于所有静态文件的版本控制,尤其是图像,javascript和样式表。这使Facebook可以将更改应用于主应用程序堆栈,包括对静态内容文件的更改,而不会破坏正在使用旧缓存版本的用户的功能。作为Haste系统的一部分,它内置在Facebook体系结构中。
| 归档时间: |
|
| 查看次数: |
17701 次 |
| 最近记录: |