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. .net 使用memcache做缓存

    前段时间去一家公司面试,面试官问到我对缓存了解多少,因为我是做B/S开发的,所以把知道的都说了.比如:Application.Cache.页面缓存.文件缓存.然后面试官说“不止这些,还有呢?”,我后来 ...

  2. js 对象数组根据对象中的属性排序

    function createComparisonFunction(propertyName){ return function(object1,object2){ var value1 = obje ...

  3. Ubuntu 完全卸载Apache2

    安装时候使用的一键安装,很简单 apt-get install apache2 这两天想配置一个lighttpd,但是一直不能成功,今天在公司用虚拟机里面的Ubuntu 配置lighttpd成功了,怀 ...

  4. 【BZOJ 4539】【HNOI 2016】树

    http://www.lydsy.com/JudgeOnline/problem.php?id=4539 今天测试唯一会做的一道题. 按题目要求,如果暴力的把模板树往大树上仍,最后得到的大树是$O(n ...

  5. Freemarker list标签,list数据判断使用

    <#if listSecMDIF?exists && (listSecMDIF?size>0)> <ul style="float: left;mar ...

  6. linux如何查看系统占用磁盘空间最大的文件及让文件按大小排序

    [root@localhost web_bak]  find / -type f -size +10G在Linux下如何让文件让按大小单位为M,G等易读格式,S size大小排序. [root@loc ...

  7. RegExp正则校验之Java及R测试

    前言: 正则表达式(英语:Regular Expression)原属于计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里边,正则表达式通常被用 ...

  8. bzoj2946: [Poi2000]公共串

    SAM处女题qwq #include <iostream> #include <cstdio> #include <cstring> #include <cm ...

  9. 编译hadoop-2.5.2总结

    原文:http://www.cnblogs.com/qigang/p/4194728.html 一.准备的资料 64位linux系统.我使用的是 CentOS JDK 1.7+.注:使用1.7即可,如 ...

  10. win10前面板耳机没声音

    首先去装Relteck的驱动,windows64位的下载地址是: http://12244.wpc.azureedge.net/8012244/drivers/rtdrivers/pc/audio/0 ...