html - 关于URL的基本问题

查看:84
本文介绍了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

  1. location.assign("discuss")

  2. location.assign("/discuss")

  3. location.href = "discuss"

  4. location.href = "/discuss"

上面2个路径对应的相对值都是不一样的。前面带有/的是相对于文档的root目录(即域名后面第一个/),而没有增加/是相对于浏览器当前地址的最后一个/

最后再附加一些<base>标签会改变当前文档的相对值

<base> 标签为页面上的所有链接规定默认地址或默认目标。
通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。
使用 <base> 标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。这其中包括 <a>、<img>、<link>、<form> 标签中的 URL。

这篇关于html - 关于URL的基本问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆