http://image.zcool.com.cn/38/46/m_1301544930638.jpg
http://image.zcool.com.cn/38/46/1301544930638.jpg
我要模仿这样的,中间的/38/46/是文件夹? 随机数字,还是什么?我试了,不是日期,求高手赐教!!
url router / url rewrite
就是通过一个类把url转为原来的参数 并定向到特定的handler
例如urlTemplate HttpGet ( "{type}/{userid}/{action}")
获得地址 111/129381/show
就对应上面的三个参数
这个是网址重定向技术。
有urlrewrite开源的包你配上规则就行了。
比如地址是www.abc.com/a.aspx?height=67&width=68
就可以配成很多形式比如www.abc.com/6768/a.aspx
ww.abc.com/67/68/a.aspx
ww.abc.com/6768/任意字符/a.aspx
具体效果看你的规则配置(专门的配置文件)
如果只是模拟,用urlRewrite就可以了,但是这个其实没多大意义
http://image.zcool.com.cn/38/46/1301544930638.jpg
这种url的设计主要是出于性能考虑:
1.将图片资源分隔到单独的子域名下,这样可以把图片单独放到一台服务器,然后通过负载均衡或cdn等其它静态资源优化手段,大大提高并发请求的处理能力。
2.在windows环境中,如果一个目录下的文件数过多(比如几万个),会导致进入这个目录时,反应非常慢,IO性能严重下降,用多级目录处理后,能避免这种情况(即把大量的文件分散到不同的目录中去了)
3.我个人猜测38是会员id之类,这样每个会员上传的图片,都在同一个根目录下,以后方便控制每个会员的上传总容量(比如限制普通会员最多只有100m的上传空间,而VIP会员有500m的上传空间,这样只要检测指定目录的文件总容量就可以了)