关于 URL 的一些不可不知的知识

URL 类知识点详解 表示统一资源定位符(Uniform Resource Locator),用于标识和定位网络资源(如网页、文件、API接口)。 支持多种协议:HTTP、HTTPS、FTP、file(本地文件)等。 不可变类:一旦创建,内容不可修改(线程安全)。 阅读详情

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 字符。

本文国际来源:css-tricks.com Guidelines for URI Design

中文翻译来源:锐商企业CMS 网站内容管理系统 官方网站

浅谈URL 本文的主题是浅谈url,主要分为四个部分,分别为URL基本知识、URL过滤、URL重定向、URL分类,请各位有需要的同仁参考学习 阅读详情

相关推荐

Allegro PCB设计实战:5分钟搞定DDR信号线的Match Group等长规则设置

本文详细介绍了在Allegro PCB设计中,如何快速为DDR信号线设置Match Group等长规则。通过实战演练,解析了从理解相对传输延迟原理、在规则管理器中创建Match Group,到设置合理容差和利用动态绕线指示的全流程,帮助工程师在5分钟内高效完成高速信号时序约束,提升设计可靠性与效率。

gg901的博客 1055

URL和IP区别,​在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL​,URL中的域名就是IP的别名。URL规定了协议域名端口路径查询和锚点

URL包含哪几部分,每部分分别有什么作用? URL全称:Uniform Resource Location 译为:统一资源定位符; 这个URL包括:协议部分、域名、端口、路径(虚拟路径)、携带的参数、哈希值; http://www.jianshu.com/index.html?name=oldUath&age=25#dowell 协议 域名 路径 ?查询参数 #锚点 协议部分: 该URL的协议部分为“h..

二进制模----细微行动改变影响世界 4362

Camera metadata

Camera metadata

weixin_42136255的博客 2532

URL知识总结

<br />URL 设计是 Web 设计中常被忽视的东西,事实上 URL 非常重要,这不仅是一个网页唯一的路径,还涉及到你的站点是否干净,友好。本文讲述 URL 这个司空见惯的 Web 元素中包含的大量不应为忽视的知识,准则与最佳实践。需要注意的是W3C 建议使用 URI 取代 URL 。<br /><br /><br />关于 URL 的一些准则<br /><br /><br />首先是与 URL 有关的一些准则。<br /><br /><br />一个 URL 必须唯一地,永久地代表一个在线

哈哈哈 1218

【MBD开发】Simulink中的枚举

01 什么是枚举 按百度百科的词条【枚举】是在编程语言中用来存储一组固定的常量。不同编程语言的枚举语法也不一样,以C语言为例。 typedef enum{ GEAR_P, //0:P挡 GEAR_R, //1:倒挡 GEAR_N, //2:空挡 GEAR_D, //3:前进}_GEAR; 上面枚举了一个_GEAR数据,用GEAR_P表示0,GEAR_R表示1……​​​​​​​ if(current_gear==GEAR..

f6723的博客 3096

神州数码防火墙(DCN)NAT SSL-VPN配置

SSL-VPN是基于应用层的VPN,采用SSL协议来实现远程接入的一种新型VPN技术,比L2TP更加灵活的VPN方案。是天然的安全远程接入方案。用户可以通过浏览器的HTTPSs登录VPN的网址。SSL-VPN的认证方式包括LDAP,radius,CA,USB Key等方式。 SSL VPN的主要应用场景是保证远程用户能够在企业外部安全\高效的访问企业内部的网络资源

qq_50966485的博客 4560

域名和URL的区别(解析一个URL)

域名,相信大家都不陌生,也使用过无数次!比如:google.com、baidu.com、163.com等。 这时候,你可能要奇怪了,为什么没有在前面加上www? 因为正常情况下,不应该是www.baidu.com之类的吗?但是 加上www,就不再是域名了 让我们来解析一下下面这一段: http://mail.163.com/index.html 1)http://:这个是协议,也就是HTTP...

秀秀的奇妙旅行 8592

ARM SMMUv3设备树配置实战:从零开始为RK3588搭建IOMMU环境

本文详细介绍了在RK3588平台上配置ARM SMMUv3设备树的实战经验。从理解硬件架构、设备树节点定义,到内核驱动集成与调试,提供了完整的IOMMU环境搭建指南,并分享了解决StreamID冲突、中断配置等常见问题的技巧,帮助开发者高效完成控制器初始化。

l3m4n的博客 888

url带多个参数_动态URL和静态URL做seo优化不必二选一

一提到网站URL优化,大家就会想到将动态URL伪静态化,减少动态参数、降低层级等操作。从SEO角度,静态URL访问速度比较快,是目前建站的最佳选择。但对于单个网站来说,选择合适的URL结构要依据网站类型、重点优化的内容和搜索引擎决定。网站URL优化1、动态URLURL示例:http://www.domain.com/abc/view.php?tid=53Google建议不要静态化URL。因为它完全...

weixin_39707536的博客 758

手把手教你学GPU的KMD专栏--3.4 中断处理机制与优化

记住,中断处理是GPU与CPU通信的"桥梁",没有高效的中断处理,GPU的性能将无法充分发挥。KMD通过"快进快出"原则、事件标志机制、GPU本机围栏等技术,实现高效、低延迟的中断处理。:GPU本机围栏机制允许GPU在满足特定条件(如围栏值达到某个阈值)时才触发中断,而不是每次围栏更新都触发中断,从而显著减少CPU唤醒次数,降低功耗。正如Microsoft GPU架构师在2022年WinHEC大会上指出:"没有好的中断处理,再强大的GPU也会被系统延迟拖垮。:多个GPU设备共享中断,导致中断处理混乱。

MHD0815的博客 112

Apache Kylin 命令注入漏洞复现(CVE-2020-1956)

Apache Kylin 中的静态 API 存在安全漏洞,可以将os命令与用户输入字符串连接起来,攻击者可以在Kylin没有任何保护或验证的情况下执行任何os命令。

0xSec 1558

URL重定向漏洞(中风险)

URL重定向漏洞(中风险) 风险级别: 中风险 风险描述: 攻击者可以将参数中URL值引入任意开发者的URL或者钓鱼网站; 风险分析: 部分HTTP参数会保留URL值,这会导致Web应用程序将请求重定向到指定的URL,攻击者可以将URL改为恶意站点,从而启动钓鱼网站欺骗用户,窃取用户隐私; 钓鱼攻击: 模拟网站或者软件,几乎与官方的软件完全相同,连域名也十分相似。 网络钓鱼是互联网上流行已久且行之有效的黑客攻击机制之一。这种攻击,通过诱导用户去访问钓鱼网站,进而获取用户数据信息,或是用恶意软件感染用

@小张小张的博客 8865

游戏“中台”的故事——架构演进、团队协同与产品创新的深度剖析

什么是中台?在游戏行业里,中台并不是把所有技术都归口管理、统一“圈养”。更不是简单的工具集合。它代表的,是一种“模块化底座”——把业务的通用能力、基础支撑和数据结合,变成可复用、可扩展、可创新的技术体系。让“前台”专注于创新玩法、极致体验;让“后台”稳健保障数据、安全、性能;让“中台”统合各种资源、流程、工具,形成平台型生产力。游戏中台是团队协同、技术创新、业务增长并行的产物。它让开发从重复劳动解脱,带着创新冲锋;让运营靠数据说话,精准制胜;让产品实现高效迭代,生态爆发。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 1950

GD32H759与RT-Thread的I2C和RTC实战:配置、坑点与排查

嵌入式工控开发中,外设驱动往往比CPU性能更影响系统稳定性,尤其在多任务实时操作系统环境下,I2C总线的传感器通信和RTC时钟保持是两大常见难题。I2C作为低速外设总线,依赖开漏输出与上拉电阻实现时序,通过RT-Thread设备框架可统一管理多从机访问;RTC则基于VBAT后备电源域与32.768kHz晶振维持走时,配合备份寄存器实现掉电数据保持。理解这些底层原理,能帮助开发者规避总线死锁、NACK、晶振误差导致的时间漂移等典型故障。在智能仪表、工业控制器和数据采集终端等场景中,基于GD32H759与RT-

weixin_34297704的博客 407

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

你不可不知的HTTP和HTTPS

一、http简介 http是一个协议,什么协议嗯,超越文本的网络传输协议,所以他叫超文本传输协议(Hyper Text Transfer Protocol),是从万维网传输超文本到本地浏览器的传送协议,是基于TCP/IP通信协议来传递数据的。 二、http工作原理 HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。 Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。

weixin_57611815的博客 2666

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

CSS不可不知的属性

学习CSS属性个人感觉相对而言算是比较枯燥的,但从一定程度上来看,我们可以于业余时间写上几个demo,感受一下CSS格局的魅力。

吴士龙 1735

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

不可不知的前端

1.  输入一个url后发生了什么 http://blog.youkuaiyun.com/wdzxl198/article/details/11265475 2.    贝叶斯 一个汽车公司的产品,甲厂占40%,乙厂占60%,甲的次品率是1%,乙的次品率是2%,现在抽出一件汽车时次品,问是甲生产的可能性   解答:典型的贝叶斯公式,p(甲|废品) =

我的E家 717
上一篇: Web 领域那些阴魂不散的产品,技术与思想
下一篇: 数据之美(十一):30 套 Infographics 作品欣赏
comsharp
博客等级 码龄20年 1475粉丝 41原创
评论 26
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值