URL解析与CI框架URL

来源:互联网 发布:淘宝服务软件哪个好 编辑:程序博客网 时间:2024/06/03 05:54

摘要: 说到网站分析,我们经常会提到URL、页面路径、网址参数、锚、域名、子域名、顶级域名等等,说起来可能都知道一些,但是却又无法准确辨识其中的差异。以至于到具体的应用的时候,容易出现概念模糊,应用错误的情况。

这里写图片描述

说到网站分析,我们经常会提到URL、页面路径、网址参数、锚、域名、子域名、顶级域名等等,说起来可能都知道一些,但是却又无法准确辨识其中的差异。以至于到具体的应用的时候,容易出现概念模糊,应用错误的情况。

URI(统一资源标志符,Uniform Resource Identifier)

说到URL(统一资源定位符,Uniform / Universal Resource Locator),就不得不先说下URI了:URL和URN(统一资源名,Uniform Resource Name)共同组成了URI。URN是用于定义该事物身份,而URL是定义了找到它的方法。

URL(统一资源定位符,Uniform / Universal Resource Locator)

回到最常用的URL,我们也俗称网页地址。它是咱们上网的门牌,是互联网中的标准地址。通常一个URL中包含了以下几个部分:

1:传输协议(HTTP、HTTPS、FTP等)

一个冒号,两个斜杠(汗,这也是啊!)

2:主机(通常是一个域名,也有是IP的)

端口(服务器上网络端口号,默认80,可选项)

3:路径(以“/”开头的一个文件路径)

4:查询(以“?”开头的一串查询参数,QueryString)

这里写图片描述

做了一张简图说明URL的结构,但是这个图并不是非常完美,因为通常查询(QueryString)部分也包含了锚(Anchor)。

网站分析中的域名(Domain)

关于域名(Domain)部分,通常是包括:

根域名(顶级域名,如:root.com)

二级域名(子域名,如:www.root.com,shop.root.com)

三级域名(子域名,如:hi.shop.root.com)

这些都是不同的域名,他们相同的都是,他们都属于同一个根域名——root.com。一个根域名可以具有许多个子域名,子域名又包含二级、三级、N级之分。另外,国内常见的:.com.cn / .cn 之类,与 .com 是属于并列的关系,是域名的后缀名。.com 是国际顶级域名,而 .cn之类是中国顶级域名,当然,也有 .us 是美国顶级域名,.asia是亚洲顶级域名等等(好吧,这里有一个顶级域名列表)。

网站分析

在网站分析中,我们需要了解到的是,Cookie是只能在相同域名内读写的。即在跨域名的时候,是不允许读写的(详见网站分析中的Cookie)。因此在做网站数据监测的时候,我们也是可以设置Cookie属于哪一个域名,实现多域名站点的跟踪。如果是属于根域名,那么默认的,当访客在不同子域名之间访问的时候,是以相同的身份访问的。(如果要了解更多关于跨域跟踪的内容,可以参见:Google Analytics部署 跨域跟踪)

相同URL就是相同网页吗?

不一定!首先,URL如果是一直到路径(Path)部分都相同,那么说明当我们访问的是同一个文件。那么为什么同一个文件还会有不同的网页呢?现在许多网页的内容都是动态生成的,网站服务器会根据查询参数(QueryString)的不一样,动态的返回一些与之对应的内容。所以才会出现相同URL不一定是对应相同网页内容的。

flash网站

需要注意的是,Flash网站,又并不经过网页地址传输这些了。它通过另一个渠道传输查询内容和返回内容数据,因此,通过URL判断页面的方法并不适用于Flash构建的站点。如果我们需要对Flash网站的访问数据进行跟踪,依然建议通过在Flash内部使用Google Analytics虚拟页面的功能进行子页面的浏览跟踪(当然也可以使用GA的Flash开发包实现Flash内跟踪)。

CodeIginter URL

当访问下面这个 URL 时:

http://example.com/news/latest/10

通过这个 URL 我们就可以推测出来,有一个叫做 “news” 的控制器,被调用的方法为 “latest” , 这个方法的作用应该是查询 10 条新闻条目并显示在页面上。在 MVC 模式里,你会经常看到下面 格式的 URL :

http://example.com/[controller-class]/[controller-method]/[arguments]

在正式环境下 URL 的格式可能会更复杂,但是现在,我们只需要关心这些就够了。

如果遵循模型-视图-控制器模式,那么 URI 中的每一段通常表示下面的含义:

example.com/class/function/ID

1:第一段(class)表示要调用的控制器 类 ;
2:第二段(function)表示要调用的类中的 函数 或 方法 ;
3:第三段(ID)以及后面的段代表传给控制器的参数,如 ID 或其他任何变量;

参考资料:
http://en.wikipedia.org/wiki/Uniform_resource_locator

http://en.wikipedia.org/wiki/Query_string

http://www.tmtpost.com/86334.html

http://www.myttnn.com/web-analytics/url/

统一资源定位符

统一资源标志符

0 0
原创粉丝点击