首页 > 代码库 > 【HTTP权威指南】第二章-URL与资源

【HTTP权威指南】第二章-URL与资源

【统一资源定位符URL】通过位置来标示资源,其表达的格式如下:https://item.jd.com/523961.html

第一部分(https)是方案,告知客户端要【怎样访问】,这里使用的是http协议。

第二部分(item.jd.com)是服务器的位置,告知客户端资源【在哪里】。

disanbufen(/523961.html)是资源路径,说明了请求的是服务器上【哪个】特定的本地资源。

URL提供了一种  方案://服务器位置/路径     的描述方法,每个资源都可以这样命名并被找到。

URL语法

URL可以定位任意一个资源,但采取的方案不同时,URL也会随之而有一些不同,但基本的URL语法是差不多都遵循的。

大多数URL方案的URL语法都建立在以下九个部分构成的基础上:

URL最重要的部分是方案,主机,路径。

技术分享

【端口】端口组件标示了服务器正在监听的网络端口,对于下层使用了TCP协议的HTTP协议来说,默认端口号为80。

【用户名和密码】

技术分享

【参数】

有些方案除了以上的信息外,还需要其他的信息才能工作。

技术分享

【查询字符串】

很多资源,比如数据库服务,可以通过查询缩小请求资源的范围。

比如我在淘宝输入“眼镜”后搜索,产生结果页面的URL是:

https://s.taobao.com/search?q=眼镜&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20170621&ie=utf8

我们看到一个问号,后面还跟着q=眼镜,这部分称为【查询(query)组件】。

查询组件和标示网关资源的路径组件一起发送给网关资源。

【片段】

有些资源类型,比如HTML,除了资源级之外,还可以作进一步的划分。比如对于一个带有章节的大型文本文档来说,资源的URL指向整个文本文档,但理想的情况是,能够制定资源中的那些章节。

为了引用部分资源或资源的一个片段,可以使用片段(frag)组件来表示一个资源内部的片段。

注:处理片段的是浏览器,他会根据片段组件而选择出要显示的部分,服务器只处理整个对象。

技术分享

【相对URL】

URL有相对和绝对两种,我们之前见到的都是绝对的,而相对URL是不完整的,要相对于一个【基础URL】进行解析。

技术分享

 

【自动拓展URL】

浏览器可以在用户输入URL时自动填补URL,如用户输入yahoo,浏览器可能会自动补全www.和.com

就无须输入完整的的URL了。

 【URL字符集】

【方案的世界】p38,p39

 

【HTTP权威指南】第二章-URL与资源