url通常包含多个组成部分,在js中可通过location对象获取其中各项信息

访问http://mp.weixin.qq.com/s?__biz=MjM5NjA0NjgyMA==&mid=2651061017&idx=1&sn=429701cec06841504f65aaccc2b5baf3&scene=0#wechat_redirect,在console执行代码:

for(var obj in location){console.log(obj+"  "+location[obj]);}

结果如下:

href  http://mp.weixin.qq.com/s?__biz=MjM5NjA0NjgyMA==&mid=2651061017&idx=1&sn=429701cec06841504f65aaccc2b5baf3&scene=0#wechat_redirect
origin http://mp.weixin.qq.com
protocol http:
host mp.weixin.qq.com
hostname mp.weixin.qq.com
port
pathname /s
hash #wechat_redirect
search ?__biz=MjM5NjA0NjgyMA==&mid=2651061017&idx=1&sn=429701cec06841504f65aaccc2b5baf3&scene=0 ancestorOrigins [object DOMStringList]
reload function reload() { [native code] }
replace function () { [native code] }
assign function () { [native code] }

所以一个完整地址通常由 协议+主机+端口+路径[+hash或search] 组成,其中hash和search是可选项、port默认为80值未列出

值得注意的是,浏览器层面可以后的hash值,但向服务器发起请求时hash值是不回带上的,即hash值对于服务端来说是不可见的。"hash is not sent in request to server."

实际上,前面示例中 的URL是web url,更一般的url格式(参阅:https://en.wikipedia.org/wiki/URL)为: URI = scheme:[//authority]path[?query][#fragment] ,其中 authority = [userinfo@]host[:port]

常用的schema: http, https, ftp, mailto, file, data, irc 等

URL组分的更多相关文章

  1. Django url (路由)

    1.路由的基本使用 #url 是个函数,有四个参数,第一个参数要传正则表达式,第二个参数传函数内存地址,第三个传默认参数,第四个传路由别名 ​ url(r'^yaopipqideneirong/art ...

  2. HTML URL地址解析

    通过JavaScript的location对象,可获取URL中的协议.主机名.端口.锚点.查询参数等信息. 示例 URL:http://www.akmsg.com/WebDemo/URLParsing ...

  3. URL安全的Base64编码

    Base64编码可用于在HTTP环境下传递较长的标识信息.在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式.此时,采用Base64编码不仅比较简短,同时也具有不可 ...

  4. Android业务组件化之URL Scheme使用

    前言: 最近公司业务发展迅速,单一的项目工程不再适合公司发展需要,所以开始推进公司APP业务组件化,很荣幸自己能够牵头做这件事,经过研究实现组件化的通信方案通过URL Scheme,所以想着现在还是在 ...

  5. ASP.NET Core的路由[1]:注册URL模式与HttpHandler的映射关系

    ASP.NET Core的路由是通过一个类型为RouterMiddleware的中间件来实现的.如果我们将最终处理HTTP请求的组件称为HttpHandler,那么RouterMiddleware中间 ...

  6. Node.js:path、url、querystring模块

    Path模块 该模块提供了对文件或目录路径处理的方法,使用require('path')引用. 1.获取文件路径最后部分basename 使用basename(path[,ext])方法来获取路径的最 ...

  7. angular2系列教程(十一)路由嵌套、路由生命周期、matrix URL notation

    今天我们要讲的是ng2的路由的第二部分,包括路由嵌套.路由生命周期等知识点. 例子 例子仍然是上节课的例子:

  8. MVC通过路由实现URL重写

    public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.Ro ...

  9. 【转】java通用URL接口地址调用方式GET和POST方式

    java通用URL接口地址调用方式GET和POST方式,包括建立请求和设置请求头部信息等等......... import java.io.ByteArrayOutputStream; import ...

随机推荐

  1. 关于 HTTP 请求头的内容

    HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议.HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应.就整个网络资源传 ...

  2. 51nod 1441 欧拉筛法

    1441 士兵的数字游戏 题目来源: CodeForces 基准时间限制:6 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 两个士兵正在玩一个游戏,游戏开始的时候, ...

  3. bzoj1066

    首先,我们可以想到从源点向每个有蜥蜴的地方连边,然后拆点,因为我们不能把一个点连向多条边,这样修改边的时候不可以,所以拆个点,就可以了 #include<iostream> #includ ...

  4. window 系统设置无线wifi

    netsh wlan set hostednetwork mode=allow ssid=huage key=243573295 如上表示设置成功 然后继续输入 netsh wlan start ho ...

  5. Js-动态控制table的tr、td增加及删除的具体实现

    <table id='wifi_clients_table' style="color:#0099CC;font-size:12px;" class="table ...

  6. 如何在HTMl网页中插入百度地图

    方法/步骤 1.打开"百度地图生成器"的网址:http://api.map.baidu.com/lbsapi/creatmap/index.html 如下图: 2.在"1 ...

  7. 绑定: 与 Element 绑定, 与 Indexer 绑定, TargetNullValue, FallbackValue

    介绍背水一战 Windows 10 之 绑定 与 Element 绑定 与 Indexer 绑定 TargetNullValue - 当绑定数据为 null 时显示的值 FallbackValue - ...

  8. Java字符串面试(二)

    先看下面2个程序 public static void main(String[] args) { String a = "a1"; String b = "a" ...

  9. 源码安装Redis

    1.官网地址下载 猛击 mkdir /down cd down wgit http://download.redis.io/releases/redis-3.0.7.tar.gz ###准备工作:安装 ...

  10. js-this的用法,来自阮一峰老师的文章

    1. 随着函数使用场合的不同,this的值会发生变化.但是有一个总的原则,那就是this指的是,调用函数的那个对象. 或者说,this指向当前执行的函数的所有者. 2.情况一:纯粹的函数调用 这是函数 ...