url 编码

1. 什么是 url

url 访问网页时需要输入的网页地址,表示资源的地点。这个就类似于我们在电脑中使用的文件路径一样可以定位到具体的某个资源,这个资源就是文件。

2. url 编码

一般 URL只能使用英文字母,阿拉伯数字和某些标点符号,不能使用其他文字和符号。比如有英文字母的网址 http://www.abc.com,但是没有希腊字母的网址 http://www.aβγ.com(读作阿尔法-贝塔-伽玛.com)。这是因为网络标准RFC 1738 做了硬性规定,规定如下。

"...Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()," [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a URL."
翻译如下:
"只有字母和数字[0-9a-zA-Z],一些特殊符号"$-_.+!*'(),"[不包括双引号]、以及某些保留字,才可以不经过编码直接用于URL。"

所以如果网址中使用了中文或其他非英文的字母,那么需要对非英文字母编码后再使用。看下面的测试,在一个浏览器的地址栏中输入含有中文的 url 比如 https://www.baidu.com/你好 点击加载,然后在浏览器开发者工具中查看 HTTP 消息头发现我们的链接变成了 GET https://www.baidu.com/%E4%BD%A0%E5%A5%BD 说明浏览器将 你好 编码成了 %E4%BD%A0%E5%A5%BDutf-8 编码分别是E4 BD A0E5 A5 BD,因此,%E4%BD%A0%E5%A5%BD 是按照顺序,在每个字节前加上 % 而得到的,具体如下图:
20210929224112.jpg
20210929224133.jpg

3. 具体网页说明

20210929224542.jpg
图中具体的链接为
https://zhidao.baidu.com/question/715409289869912285.html?qbl=relate_question_0&word=%E4%AF%C0%C0%C6%F7%B5%D8%D6%B7%C0%B8%B3%F6%CF%D6%20index.php%3Fid%3D%3F
因为这个网页存在中文的路径,比如这是一个问答网页,那么别人编写的问题是使用中文描述的,需要对这些中文使用 utf-8 进行编码,所以这个网页的链接看起来非常的长且复杂。所以才会有有些 url 很简单很简短,有些 url 很长很复杂。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值