HTTP的介绍(1):关于URI的介绍

这些天在用VUE开发,用到了VUE的路由,发现用了URL的hash,所以简单的去了解了一下。

URI的格式
由上图里面可以看出一个URI的组成(URL一样)

详解(主要介绍search与hash),以如下的URL为例:

http://www.youcat.top/index;type=c/index.html;type=d?name=a&password=aaa#home?l=1

其中:

location.search == '?name=a&password=aaa';
location.hash == '#home?l=1'

由上当你想要通过URL传入参数的时候,’?‘的内容需要在#前面(当’#‘存在的时候),否则若是在’#‘后面,则其将会成为’#‘号的一部分。
有的参考会说:?后面有多个参数的时候以’&‘进行分隔,其实这边可以你自己定义,只要你在后台或者前段知道分隔符就行。

除了有些不合规则的字符需要特别处理之外,对査询组件的格式没什么要求。按照常规,很多网关都希望査询字符串以一系列“名/值”对的形式出现,名值对之间用字符“&”分隔

index.html后面的;type=d是路径参数,给这个路径使用的,每个路径下都可以使用。

对很多方案来说,只有简单的主机名和到达对象的路径是不够的。除了服务器正在监听的端口,以及是否能够通过用户名和密码访问资源外,很多协议都还需要更多的信息才能工作。负责解析URL的应用程序需要这些协议参数来访问资源。否则,另一端的服务器可能就不会为请求提供服务,或者更糟糕的是,提供错误的服务。比如,像FTP这样的协议,有两种传输模式:二进制和文本形式。肯定不希望以文本形式来传送二进制图片,这样的话,二进制图片可能会变得一团糟,这时候路径参数就有用了

http://www.youcat.top/index;type=c/index.html;type=d?name=a&password=aaa#home?l=1

这个路径的信息并不会全部发送到后端,其中’#‘后面的信息将不会被发送到后端,即后端根本查不到这个东西。

HTTP服务器通常只处理整个对象,而不是对象的片段,客户端不能将片段传送给服务器。浏览器从服务器获得了整个资源之后,会根据片段来显示感兴趣的那部分资源

通过查看vue的路由信息,我们可见:

http://www.youcat.top/index;type=c/index.html#home?l=1

他的形式如上,而起获取参数的方法为:

this.$route.query.l

由此可见,其内部是进行字符串的截取,转换成对象的形式(猜测)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值