您的位置:首页> 前端教程> HTTP协议

URL 结构分析

2019-3-22 22:13| 作者: admin| 查看: 865| 评论: 1|来自: 蚂蚁部落

关于URL多数人应该不会陌生,对它的直观印象就是网址。

没问所要介绍的内容就是我们所熟悉的网址,对其结构进行详细分析。

特别说明

(1).当前较为规范的技术文档一般不再将网址称为URL,而是统一使用URI替代。

(2).URL并不仅仅包括网址,本文仅介绍网址的结构。

关于URI的概念本文不做介绍,具体可以参阅URI、URL与URN区别一章节。

可能不少朋友认为URL结构这么简单,还有什么好介绍的,这么想的朋友一般有两种情况:

(1).确实对URL结构非常了解,当然感觉非常简单。

(2).对其没有太多的了解,且由于经常使用,所以感觉很简单。

的确,URL的结构确实非常简单,只是有些朋友没有注意到一些细节,所以本文进行详细介绍。

首先看一个URL例子:

[HTML] 纯文本查看 复制代码
http://www.softwhy.com/forum.php?mod=forumdisplay&fid=119

上面就是我们经常见到的URL网址的一个简单例子,它有几个部分构成,下面会进行详细介绍。

URL的结构组成:

[HTML] 纯文本查看 复制代码
schema://host[:port]/path/.../[?query-string][#anchor]

结构分析如下:

(1).schema:URL的协议部分,当前网址的两种协议分别是http与https。

(2).host:服务器部分,站点总要在一个服务器中运行,此部分规定了服务器的网络地址。

(3).port:端口部分,比如80端口,当然也可以是其他端口,很多朋友可能会有这样的疑问,为什么网址中很少看到端口,因为默认都是使用80端口,此端口可以省略。

(4).path:请求具体网址的路径,后面会通过实例分析。

(5).query-string:查询字符串,通过它可以向服务器传递一些参数,然后利用这些参数进行查询一些数据。

(6).#anchor:锚部分,通过它可以实现业内定位功能,具体参阅HTML 锚点定位一章节。

为了加深一下对结构各部分的理解,下面对一个URL进行一下剖析:

[HTML] 纯文本查看 复制代码
http://www.softwhy.com:80/forum.php?mod=forumdisplay&fid=119

(1).schema:http,为了安全,当前越来越多的网站采用https协议。

(2).host:www.softwhy.com,域名会解析绑定到一个IP,此IP对应一个服务器,那么就可以通过此域名找到站点服务器,也可以直接就是IP地址(是否可以具有由服务商决定)。

(3).port:上述网址端口是80,默认可以省略,这也是绝大多数网址都没有注明端口的原因。

(4).path:/forum.php,请求的资源在服务器中的地址,会涉及到路径问题。

(5).query-string:?mod=forumdisplay&fid=119,以键值对形式存在,可以给服务器传递一些参数。

关于锚的部分就不掩饰了,具体可以参阅上文所推荐的文章,里面有详细的介绍,HTML 锚点定位一章节。

最后再附加说明一点,当前众多网站,为了SEO优化,对搜索引擎更加友好一点,都会将上述带有查询字符串的动态网址转换为静态网址,看如下例子:

[HTML] 纯文本查看 复制代码
forum.php?mod=viewthread&tid=1394

上面是一个动态网址,可以将其转换为HTML静态方式:

[HTML] 纯文本查看 复制代码
thread-1394.html

在搜索引擎与浏览者眼中,这是一个静态页面,当实际向服务器发起请求的时候,还是会映射到对应的动态页面请求数据,大致是这个原理,本文不多介绍,感兴趣的朋友可以自行在网上查询相关知识。

1

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)

发表评论

最新评论

引用 付佳乐 2019-4-4 11:52
关于URL多数人应该不会陌生,对它的直观印象就是网址。

没问所要介绍的内容就是我们所熟悉的网址,对其结构进行详细分析。   没问所要 应该是本文所要吧

查看全部评论(1)

返回顶部