url含义指的是什么 url的含义是什么( 三 )


为了引用部分资源或资源的一个片段,URL支持使用片段(frag)组件来表示一个资源内部的片段 。比如,URL可以指向HTML文档中一个特定的图片或小节
片段挂在URL的右手边,最前面有一个字符“#” 。比如:
http://www.hardware.com/tools.html#drills在这个例子中,片段drills引用了Web服务器上页面/tools.html中的一个部分 。这部分的名字叫做drills
HTTP服务器通常只处理整个对象,而不是对象的片段,客户端不能将片段传送给服务器 。浏览器从服务器获得了整个资源之后,会根据片段来显示感兴趣的那部分资源
字符
URL的设计者们认识到有时人们可能会希望URL中包含除通用的安全字母表之外的二进制数据或字符 。因此,需要有一种转义机制,能够将不安全的字符编码为安全字符,再进行传输
人们设计了一种编码机制,用来在URL中表示各种不安全的字符 。这种编码机制就是通过一种“转义”表示法来表示不安全字符的,这种转义表示法包含一个百分号(%),后面跟着两个表示字符ASCII码的十六进制数
下面是一些例子
在URL中,有几个字符被保留起来,有着特殊的含义 。有些字符不在定义的US- ASCII可打印字符集中 。还有些字符会与某些因特网网关和协议产生混淆,因此不赞成使用
下面列出了保留及受限的字符
常见的三种编码方法【encodeURI()】
encodeURI()函数把字符串作为URI进行编码,实际上enchodeURI()函数只把参数中的空格编码为%20,其余特殊字符均不会转换
encodeURI()的不编码字符有82个:
! # $' ( ) * + , - . / : ; = ? @ _ ~ 0-9 a-z A-Z使用方式
//'http://www.w3school.com.cnbr /'console.log(encodeURI("http://www.w3school.com.cn")+ "br /")//'http://www.w3school.com.cn/My%20first/'console.log(encodeURI("http://www.w3school.com.cn/My first/"))//',/?:@=+$#'console.log(encodeURI(",/?:@=+$#"))【url含义指的是什么 url的含义是什么】[注意]encodeURI()可以编码中文
//'%E6%B5%8B%E8%AF%95'console.log(encodeURI('测试'));【decodeURI()】
decodeURI()函数可对encodeURI()函数编码过的URI进行解码 。实际上,decodeURI()仅仅会把%20转换为空格显示
//"http://www.w3school.com.cn/My first/"console.log(decodeURI("http://www.w3school.com.cn/My%20first/"));【encodeURIComponent()】
encodeURIComponent()函数可把字符串作为URI组件进行编码 。该方法主要对;/?:@=+$,#等这些用于分隔URI组件的字符以及中文进行编码
encodeURIComponent不编码字符有71个:
!,',(,),*,-,.,_,~,0-9,a-z,A-Z由于此方法对:/都进行了编码,所以不能用它来对网址进行编码,而适合对URI中的参数进行编码
[注意]encodeURIComponent()可以编码中文
var uri = "http://www.wrox.com/illegal value.htm#start";//'http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.htm%23start'console.log(encodeURIComponent(uri));//'%E6%B5%8B%E8%AF%95'console.log(encodeURIComponent('测试'));【decodeURIComponent()】
decodeURIComponent()函数可对encodeURIComponent()函数编码的URI进行解码
var uri = 'http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.htm%23start';//'http://www.wrox.com/illegal value.htm#start'console.log(decodeURIComponent(uri));【escape()】
escape()函数对字符串进行编码,将字符的unicode编码转化为16进制序列
ES3中反对escape()的使用,并建议用encodeURI和encodeURIComponent代替,不过escape()依然被广泛的用于cookie的编码,因为escape()恰好编码了cookie中的非法字符并且对路径中常出现的“/”不进行编码
escape()的不编码字符有69个:
* + - . / @ _ 0-9 a-z A-Z[注意]escape()可以编码中文
var uri = "http://www.wrox.com/illegal value.htm#start";//'http%3A//www.wrox.com/illegal%20value.htm%23start'console.log(escape(uri));//%u6D4B%u8BD5console.log(escape('测试'));【unescape()】
unescape()函数用于对escape()函数编码的URI进行解码
//http://www.wrox.com/illegal value.htm#startconsole.log(unescape('http%3A//www.wrox.com/illegal%20value.htm%23start'));//'测试'console.log(unescape('%u6D4B%u8BD5'));链接文章:
https://www.cnblogs.com/xiaohuochai/p/6144157.html
https://www.cnblogs.com/xiaohuochai/p/6144157.html
https://developer.mozilla.org/zh-CN/docs/Learn/Common_questions/What_is_a_URL