html - 关于URL的基本问题
问题描述
今天看廖雪峰老师的js教程的时候,看到浏览器对象的时候发现自己对URL完全就不懂啊,在网上百度了一会觉得还是没能看到我想要的简单明了的答案。所以在这里希望知道的人告诉我下。
首先,这是我看到的那个网页:
http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434499832124d97d77b00706461f9daf1a390b75ade1000
然后我有一点不太明白,www.liaoxuefeng.com这个是域名吧?那这个域名后的/wiki/00143444....这一串是什么?我理解的是这个表示的是服务器下面的wiki目录(所以这就是所谓的path,而path又和router有关?)里面的一个网页文件,文件的名字为001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434499832124d97d77b00706461f9daf1a390b75ade1000 这样理解我总觉得不太踏实。。我这样理解对吗?有什么可以推荐的介绍这方面知识的科普性的文章吗?
然后,廖老师有一段代码是这样的:
if (confirm('重新加载当前页' + location.href + '?')) {
location.reload();
} else {
location.assign('/discuss'); // 设置一个新的URL地址
}
在执行这一段代码之后,我如果不选择重新加载当前页这个选项,网页就跳到了另外一个地址,这个地址为
http://www.liaoxuefeng.com/discuss
为什么会是这样呢?我以为应该会跳到http://www.liaoxuefeng.com/wi...啊?
如果可以的话,请告诉我上面几个小问题的答案,如果有好的文章推荐就更好啦,感激不尽~
001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434499832124d97d77b00706461f9daf1a390b75ade1000
一个"/"即代表一个目录,明显这个里面有一个"/"的。
路径分绝对路径,与相对路径。绝对路径很好理解就是http://.../xx
这样一个完整地址。
剩下的相对路径,就要知道路径的相对值
。location.assign
是相对与文档的URL
。
location.assign("discuss")
location.assign("/discuss")
location.href = "discuss"
location.href = "/discuss"
上面2个路径对应的相对值
都是不一样的。前面带有/
的是相对于文档的root
目录(即域名后面第一个/
),而没有增加/
是相对于浏览器当前地址的最后一个/
。
最后再附加一些<base>
标签会改变当前文档的相对值
。
<base> 标签为页面上的所有链接规定默认地址或默认目标。
通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。
使用 <base> 标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。这其中包括 <a>、<img>、<link>、<form> 标签中的 URL。
这篇关于html - 关于URL的基本问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!