首页 > 网站使用url的疑惑

网站使用url的疑惑

现在网站系统都支持路由,所以链接地址写的也是多种多样,所以我现在不解为什么这么写,这么写有什么好处呢?


这么写肯定有什么优点,请知晓的给小弟讲讲,万分感谢。


第一个链接我打不开,后面你认为多此一举的东西有可能是传参。

第二个链接如果没有猜错的话,是WordPress博客系统的一个链接形式,你还可以改各种形式呢,不过这条链接确实不利于SEO,但只是相对的,毕竟WordPress可以设置,喜欢用哪种就用哪种。没有什么优劣好坏问题


http://stackoverflow.com/users/313758/yi-jiang
这个URL真猜不出来

http://www.cnblogs.com/_franky/archive/2012/07/05/2577141.html
这个有两个方面的猜测
1.这个html已经静态化了,所以2012/07/05是路径。
2.可能涉及到分库分表一类的信息在里面


这是一个框架的坑,多数的框架生成静态,默认携带时间,因此不修改就会携带时间


你的第二个例子自己给的解释正好是第一个的答案

 url = '/u/uid/nealnote'
 url = '/u/uid'

seo来说,带nickname的比纯数字好,当然,你已经知道了。

第二个例子,归档,日期在url里可以说明一些问题,比如什么时候的文章,直接再url里就有
再有
数据量小的时候怎么做都可以,数据量大的时候要考虑的东西就多了,

比如,你的网站有100 million文章

  url = '/article/id'

当网站访问量大的时候,每次都访问数据库就算有索引速度依然会慢,除了服务器不停的扩张性能,还有其他方法么,提升性能的方法有3种

  1. 缓存

  2. 缓存

  3. 缓存

生成静态文件缓存或者nginx缓存,或者其他各种地方缓存。
假设你的article handler 在接受到id的时候,去硬盘上查找已经生成的缓存文件

/path/to/cache/file/

如果这个文件存在直接读取文件,而不读数据库,不存在的时候才读取数据库,然后顺便生成缓存,假设你在一个目录生成了100 million 的缓存文件(其实不可能,因为单目录文件数有上限),你这缓存还不如不缓存了,硬盘io,文件查找就会使这个性能很低,简单的方法是什么,分目录,分很多级目录,另外也避开单目录文件数限制。
那么这个分目录的方法是什么,发布日期是一种,直接拿id分组也是一种,看个人喜好,大一点的资讯网站一般都是发布日期

/year/month/day/

按年月日区分的好处是,在大部分条件下容易定位到文件


实名反对以上所有答案。

为了所谓SEO来更改url,甚至查询结构,是非常得不偿失的。现代搜索引擎算法不是十年前的字母url比数字友好了,即使有那么一丁点作用,也是可以忽略。

为了分段查询而更改url,也是扯淡。id查询已经是极致了,再以用户名hash什么的来分库分表简直脱裤子放屁,直接id求余或id段分表不是很方便而且逻辑简单吗?

为了树状缓存而更改url,我都不知道说你什么好,现在很多服务器都是固态了,文件合并都没意义,更何况靠增加目录级别来快速命中呢。即使是机械硬盘,单目录和多级目录索引速度也并没有明显区别。

总而言之,你们的答案在10年前是比较受用的。但是请看清现在是2015年。不要来荼毒菜鸟,谢谢。

---更新---

@我有切糕 的答案估计是靠谱的,Wordpress自带的,为了seo和可视性。


这个可能是一些数据冗余方面的统计吧
http://stackoverflow.com/users/313758/
http://stackoverflow.com/users/313758/yi-jiang
两个访问统计是一样的

两个方式可能基于实现某些功能?


不太清楚别人的的实现,我说下我的理解。

313758未必是ID,可能是一个分组,这个分组下有一组用户,这样就可以先找到分组,再找用户。多了一级可以干很多事情,例如负载均衡:把用户按组分开,收到请求时按组来分配请求。

后面那个按日期分的很可能也是这样。所有用户在同一天提交的文章是存放在一起的,ID是分开的,这样就比较容易组织,也解决了目录过多的问题。当然另外一个好处就是这样组织在我们用户看起来也比较清晰。

自己的理解,未必正确。


一边猜测一边验证。

1.313758是用户标识还是分组标识?
访问http://stackoverflow.com/users/313758, 会自动跳转到http://stackoverflow.com/users/313758/yi-jiang,
所以数字313758就是用户标识,不是分组.

2.关于后面的名字yi-jiang,是多此一举还是SEO?
用Google搜索关键字“yi-jiang”和"Yi Jiang",都在第二页出现了http://stackoverflow.com/users/313758/yi-jiang。
所以后面的关键字,对SEO有一定作用。

3.个人猜测是为了RESTful
RESTful URL有非常高的可读性.
日期也好,英文词组也好,方便人浏览,通过URL了解内容。
用过wordpress都知道,wp支持各种风格的RESTful URL,目的就是这个。

所以,
http://stackoverflow.com/users/313758/yi-jiang是用户名称的RESTful URL;
http://www.cnblogs.com/_franky/archive/2012/07/05/2577141.html是时间格式的RESTful URL。

【热门文章】
【热门文章】