- 浏览: 1051786 次
- 性别:
- 来自: 郑州
文章分类
- 全部博客 (605)
- 数据挖掘 (22)
- spring (40)
- 工具使用 (39)
- java (137)
- JavaScript (40)
- webwork (12)
- web (120)
- 资源 (7)
- SSH (5)
- oracle (20)
- J2ME (1)
- 环境配置 (37)
- 项目管理 (29)
- mysql (14)
- struts (4)
- 项目总结 (27)
- ibatis学习 (33)
- 学习计划 (2)
- 缓存 (7)
- 重构 (3)
- Android (1)
- jquery (12)
- UML (3)
- 用户体验 (4)
- 习惯 (7)
- sakai (1)
- urlrewrite (4)
- rss (5)
- C plus plus (5)
- 算法 (5)
- 海量数据处理 (7)
- office(word、excel) (1)
- 面试题 (3)
- solr (8)
- 大数据 (2)
最新评论
-
hujin19861102:
截图看不见,最后一个webwrok的配置看不见
Ext+Webwork+Json 实现分页表格查询效果 -
蜗牛笔:
弱弱的问一句,要是分出来的词在词典中没有,那么两部分的pos- ...
ICTCLAS 中科院分词系统 -
weipeng1986:
授人予鱼不如授人予鱼,我想问你的是你是怎么总结的。比如第四种情 ...
JAVA中字符串连接效率的测试 -
xiaoqiang2008:
执行两次的原因是什么,好像楼主没弄清楚啊!是不是在web.xm ...
关于Spring中用quartz定时器在定时到达时同时执行两次的问题 -
Kent_Mu:
...
ibatis-dynamic的用法
本文转自http://www.20ju.com/content/V152073.htm
URL 设计是 Web 设计中常被忽视的东西,事实上 URL 非常重要,这不仅是一个网页唯一的路径,还涉及到你的站点是否干净,友好。本文讲述 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,一定使用 HTTP 301 机制,告诉浏览器和搜索引擎,你的那个 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/[key information]/[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 字符。
发表评论
-
fork/join框架
2017-03-09 11:03 498http://blog.csdn.net/ye1992/art ... -
protobuffer
2017-03-09 10:54 695http://blog.csdn.net/antgan/art ... -
整理上传代码容易忽略的注意事项
2013-08-31 11:28 1161每个公司都有自己的代码代码上传流程:如果打包发布的话,是不存 ... -
mysql版本升级引发的问题
2013-05-16 15:25 1655问题描述: 1. ibatis 中 mysql语 ... -
网站的记住密码功能设计
2013-02-27 19:09 1309http://greenyouyou.blog.163 ... -
大型网站架构演变之路
2013-02-27 19:08 1147http://www.cnblogs.com/ivanjack ... -
使用Filter统计Java(J2EE)的web程序http请求响应时间
2013-02-27 19:07 1389http://www.cnblogs.com/ivan ... -
java bean与xml相互转换
2013-02-06 10:27 2048最近在做的项目,在各个平台之间需要大量传输数据,且结构比较 ... -
java 反射
2013-01-14 18:21 830http://www.cnblogs.com/rollenh ... -
字符串替换
2012-12-17 11:17 1160高效的字符串模式替换实现效果如下 String str ... -
httpURLConnection获取网络数据:XML格式返回与Json格式返回
2012-12-15 16:57 149251.服务器端代码样例: public class ... -
利用Freemarker实现表到功能界面的一键生成
2012-11-22 18:03 1020利用Freemarker实现表到功能界面的一键生成 h ... -
ibatis in ##的问题
2012-11-02 13:25 854http://www.hake.cc/a/biancheng/ ... -
ibatis缓存强制刷新与命中率
2012-10-19 19:06 1393缓存强制刷新: // spring注入 private Sq ... -
eclipse 的一些设置
2012-08-16 22:06 17611. 控制台信息太多,程序跑完后只能保留最后的一部分之前的 ... -
jdk1.5 System.arraycopy与jdk1.6 中Arrays.copyOf()&Arrays.copyOfRange()
2012-08-16 21:56 3288在JDK1.5的类System类中有方法 ... -
Eclipse报Java heap space错误的解决方案
2012-08-16 16:43 12073当运行大数量的数据时: (1) 如果是java 应用程 ... -
求两个字符串的最大公共字符串
2012-08-10 20:41 1065http://blog.csdn.net/wangcj625/ ... -
ffmpeg 截取视频 播放中的图片
2012-06-19 09:14 1315http://www.cnblogs.com/live365w ... -
memcached 项目中的使用
2012-06-13 09:29 1067http://ljh2008.iteye.com/blog/6 ...
相关推荐
在HTTP中,URL(统一资源...这可能是一个用于处理编码和解码任务的程序,但没有更多的上下文信息,我们无法提供具体的细节。在使用任何未知的exe文件时,应谨慎行事,确保它是来自可信任的源,并且符合你的安全策略。
URL编码,全称为统一资源定位符(Uniform Resource Locator)编码,是互联网上用于标识资源的一种...在日常工作中,我们应该时刻注意URL编码的细节,确保数据的正确传输和解析,从而提升应用程序的稳定性和用户体验。
而URL抓包工具则可以捕获这些请求,让我们能够看到背后的交互细节。 smsniff工具的主要功能包括: 1. 数据包捕获:smsniff能够实时监控网络流量,捕获所有进出的HTTP请求和响应。这对于开发者调试网页应用、了解...
### JS验证URL函数正则详解 ...对于需要高度定制化验证逻辑的应用,推荐使用第一个函数,因为它覆盖了更多的URL细节;而对于简单的需求,后两个函数就足够用了。在实际应用中,还需要根据具体情况进行调整和完善。
- 通过对这些源码的分析,可以深入理解Url重写技术的实现细节,包括如何定义规则、如何匹配和处理请求。 6. **实践与优化** - 实践中应考虑URL的可读性、可扩展性和可维护性,避免过度重写导致的复杂性。 - 避免...
《URL编码与解码:深度理解与应用》 在互联网通信中,URL(Uniform Resource Locator,统一..."url_decoder_v3.0"这样的工具,正是为了解决这方面的实际需求,使得开发者能够更加专注于业务逻辑,而非底层的编码细节。
### C# 获取当前页面的URL 在Web开发中,经常需要获取当前页面的URL以便进行进一步的操作或处理。本文将详细介绍如何使用C#在ASP.NET应用...了解这些细节有助于开发者更好地控制和管理Web应用中的数据流和导航逻辑。
8. **隐藏技术细节**:通过URL重写,可以隐藏实际的动态脚本路径,避免暴露系统架构信息,增强安全性。 在提供的压缩包文件中,"ProUrl"可能是包含作者实现的URL重写功能的源代码项目,而"url rewrite"可能是相关的...
易语言是一种专为中国人设计的编程语言,它以简明的中文语法...在实际编程中,我们需要注意各种编码细节,以确保URL解码的正确性和兼容性。通过学习和理解这些知识点,开发者可以更好地处理网络数据的编码与解码问题。
这样做的主要目的是为了提高SEO(搜索引擎优化)、提供更易于理解和记忆的链接、隐藏技术细节以及更好地管理复杂的网站结构。 微软的HttpModule是实现URL重写的一种方式。HttpModule是IIS(Internet Information ...
开发者可以通过阅读和学习这些源码,了解URL编解码的具体实现细节,从而提高自己的编程技能。 源码的学习不仅可以帮助理解编码和解码的过程,还可以了解到易语言如何与底层硬件交互,以及如何处理字符串操作。对于...
使用URLRewrite可以隐藏网站的技术实现细节,从而提高网站的移植性。例如,我们可以使用URLRewrite将JSP页面重写成静态HTML页面,从而提高网站的加载速度和可移植性。 3. 满足美感的要求 使用URLRewrite可以将我们...
3. **隐藏实现细节**:动态URL可能暴露了程序的内部结构,而伪静态URL则可以避免这种情况,提高安全性。 4. **移植方便**:由于URL重写规则通常独立于应用程序代码,因此在更换服务器或Web框架时,只要保持Url...
3. **隐藏技术细节**:隐藏网站内部路径,提高安全性,防止敏感信息泄露。 4. **URL路由**:将请求转发到不同的处理程序或服务器,实现负载均衡和故障转移。 5. **兼容性**:支持多种重写规则,如正则表达式,与...
### Android中通过URL获取图片的方法解析 在Android开发过程中,经常需要从网络上加载图片到应用中。本文将详细介绍如何利用...需要注意的是,在实际项目开发中还应考虑更多细节与优化方案,以满足更复杂的应用需求。
标题 "pb8888_GetURL_" 暗示我们关注的是一个与“pb”(可能是Protocol Buffers或...要了解更多细节,需要查看 pb8 压缩包内的文件,这些文件可能包含protobuf定义、客户端代码、服务器端接口定义或其他相关文档。
- **隐藏技术细节**:避免暴露不必要的服务器路径和参数,提高安全性。 3. **ASP.NET URL重写实现方式**: - **URLRoutingModule模块**:ASP.NET框架自带的URLRoutingModule模块,用于处理URL重写。通过配置`web....
通过上述步骤,我们已经了解了在 ABAP 中如何通过 URL 下载文件的关键流程和技术细节。这不仅包括了创建 HTTP 客户端、设置请求头、发送请求、接收响应以及处理响应数据等环节,还涉及到了异常处理和状态码校验等...
你可以解压文件,查看其中的代码以获取更具体的实现细节。 总结来说,生成网页快照涉及的关键知识点包括: 1. 使用`java.net`包发起HTTP请求 2. 使用Jsoup解析HTML文档 3. 多线程处理多个URL,使用`java.util....
组件的`encode()`函数会处理这些细节,确保URL的安全传输。 2. **解码**:相反,解码过程将%加两位十六进制数的形式还原为原始字符。`decode()`函数会识别并转换这些编码序列,恢复URL的原始内容。 3. **编码规则*...