当前位置: 移动技术网 > 网络运营>推广>网站建设 > 网站制作不可不知的URL知识

网站制作不可不知的URL知识

2018年11月07日  | 移动技术网网络运营  | 我要评论
URL设计是Web设计中常被忽视的东西,事实上URL非常重要,这不仅是一个网页唯一的路径,还涉及到你的站点是否干净,友好。... 10-08-11
本文讲述url这个司空见惯的web元素中包含的大量不应为忽视的知识,准则与最佳实践。需要注意的是w3c建议使用uri取代url一说。

关于url的一些准则

首先是与url有关的一些准则。

一个url必须唯一地,永久地代表一个在线对象

url的最基本的使命是唯一地代表internet上的一个对象,url必须和internet上的对象一对一匹配。然而现实中,这很难实现,我们经常可以通过多个url到达同一个页面,比如,http://mysite.com/product/tv和http://mysite.com/product?name=tv,这种情形在现代cms中更是比比皆是,针对这个问题,seo moz有一篇很好的文章,讲到了如何使用canonical url机制解决站点中的重复url问题。

url应该是永久的,这就要求你在站点上线前就非常严谨地规划url。如果有一天,你不得不更改url,一定使用http301机制,告诉浏览器和搜索引擎,你的那个url所代表的对象,已经搬迁到新地址,这个机制可以保证你旧地址所获得pr不会被清零。

尽可能用户友好

这是url设计的根本,你的url应该为最终用户而设计。保持url友好的一个好办法是在保证可读性的同时让它尽可能短。比如/about就好过/about-acme-corp-page,当然,保持简短不能牺牲可读性,/13d2一类的地址短则短矣,但并不友好。如果要在twitter,facebook一类的社会媒体网络分享你的url,可以使用bit.ly一类的网址缩短工具,但这种工具产生的缩短url并不友好,在wordpress一类的cms中,可以使用prettylink pro或short url plugin一类的可控制的地址缩短插件。

 

url的设计切忌使用一些对用户来说没有意义的内容,比如数据库的id号,/products/23这样的url地址对用户是极不友好的,应当使用/products/ballpoint-pen一类的地址。

保持一致性

站点内的所有url必须保持一致的格式和结构,这样可以为用户带来信任感,如果你必须更改url格式和结构,需要使用http 301机制。

可预测的url

这也是url一致性的一个表现,如果你的url拥有很好的一致性,用户可以根据url猜测别的内容的url,假如/events/2010/01指向2010年1月份的日程内容,那

/events/2009/01应当指向2009年1月的日程。

/events/2010应当指向2010年全年的日程。

/events/2010/01/21应当指向2010年1月21日的日程。

url中的关键词

url中应该包含本页重点内容的关键词,比如/posts/2010/07/02/trip-best-buy-memory-cards一类的url本身就是对页面内容的反应。在url包含重点内容关键词,也可以提高seo性能。seo的一个很重要的原则就是,在url地址中包含内容关键词。

关于url的技术细节

下面说的是有关url的一些技术细节。

url不应包含.html,aspx,cfm一类的后缀

这类信息对最终用户是没有意义的,却占了额外的空间,一个例外是.atom,.rss,.json一类的特殊地址,这类地址是有特别的意义的。译者注:在某些虚拟主机式web服务器,这种做法未必现实。

url不应包含www部分

www部分并不包含任何意义,是一个额外的负担,不友好。可以使用http 301机制,将www.domain.com定向到domain.com。

url的格式

url的格式如下:

domain.com/[keyinformation]/[name]/?[modifiers]

key information部分一般代表信息的类型或类别。modifiers部分则属于查询字符串范畴,它不应当代表数据结构,应当代表数据的修饰。key information部分应当尽可能简短,同时应当表现出一种层级关系,比如http://domain.com/posts/servers/nginx-ubuntu-10.04,或http://domain.com/news/tech/2007/11/05/google-announces-android。

google news对新闻源有一个有趣的要求,google要求新闻源页面的url中必须包含至少3位唯一的数字,因为他们会忽略年份数字,因此,应该使用一个5位或5位以上的数字。另外,也应该提供google news站点地图。如果你想向google提供新闻,必须按这样的结构提供url,当然保持一致性,可以预测性也是必需的。

使用小写字符

url中所有字符都应使用小写,这更容易阅读。

url中包含的行为元素

url查询字符串中可能包含一些表示行为的元素,比如show,delete,edit等。非破坏性的行为可以体现在url中,破坏性的行为应该使用post。

使用url友好字符

在url中体现网页标题的时候,往往会用到一些特殊字符,应当把它们转换为url友好字符:

全部大写字符换成小写

诸如é一类的字符应转换成对应的e

空格使用短划线代替

诸如!,@,#,$,%,^,&,*一类的字符应该使用短划线代替

双短划线应该使用单短划线代替

另外,没有必要的话,避免使用%20一类的url逃逸符。

更多观点

chris shiflett建议,可以使用一些类似句子的url,如:

 

chriscoyier.net/authored/digging-into-wordpress/
chriscoyier.net/has-worked-for/chatman-design/
chriscoyier.net/likes/trailer-park-boys
jacobwg.com/thinks/this-post/is/basically-done

 

译者补充:url的长度上限

url的最大长度是多少?w3c的http协议并没有限定,然而,在实际应用中,经过试验,不同浏览器和web服务器有不同的约定:

ie的url长度上限是2083字节,其中纯路径部分不能超过2048字节。

firefox浏览器的地址栏中超过65536字符后就不再显示。

safari浏览器一致测试到80000字符还工作得好好的。

opera浏览器测试到190000字符的时候,还正常工作。

web服务器:

apache web服务器在接收到大约4000字符长的url时候产生413 entity too large"错误。

iis默认接收的最大url是16384字符。

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网