http 笔记2 url与资源

Url就是因特网资源的标准化名称。URL指向每一条电子信息,告诉它们位于何处,以及如何与之进行交互。

 将浏览器指向一个url,浏览器就会在幕后发送适当的协议报文来获取人们所期望的资源。

URI由 URL 和URN构成

URL 通过描述资源的位置来标识资源,URN 则是通过名字来识别资源。

http规范将更通用的概念URI作为其资源标识符,但实际上,HTTP应用程序处理的只是URI的URL子集。

URL分以下三部分:

URL的第一部分 http: 是URL方案scheme.方案可以告知web客户端怎样访问资源。http 说明要使用HTTP协议

mailto ftp文件传输协议 rtsp 流视频服务器

URL第二部分www.joes.com :指的是服务器的位置。这部分告知web客户端资源位于何处

URL第三部分 index-fall.html:是资源路径。路径说明了请求的是服务器上哪个特定的本地资源。

url提供了一种定位因特网上任意资源的手段,但这些资源是可以通过各种不同的方案 http ftp smtp 来访问的。因此url语法会随方案的不同而有所不同。

通用格式:<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>

几乎没有哪个url中包含了所有这些组件。url最重要的3个部分是方案、主机、路径

方案:访问服务器以获取资源时要使用哪种协议 无默认值

用户:某些方案访问资源时需要的用户名 默认值:匿名

密码:用户名后面可能要包含的密码,中间由冒号 :分隔

主机:资源宿主服务器的主机名或点分 IP地址 默认值:无

端口:资源宿主服务器正在监听的端口号,很多方案都有默认端口号 ,默认值:每个方案特有

路径:服务器上资源的本地名,由一个斜杠/将其与前面的url组件分隔开来。

参数:某些方案会用这个组件来指定输入参数。参数为:名/值对。url中可以包含多个参数字段,它们相互之间以及与路径的其余部分之间用分号:分隔

查询:某些方案会用这个组件传递参数以激活应用程序,查询组件的内容没有通用格式。用字符“?”将其与url的其余部分分隔开来。

片段:一小片或一部分资源的名字,引用对象时,不会将frag字段传送给服务器,这个字段是在客户端内部使用的。通过“#”将其与url的其余部分分隔开来

 

方案---使用什么协议

方案实际上是规定如何访问指定资源的主要标识符,它会告诉负责解析url的应用程序应该使用什么协议。方案组件必须以一个字母符号开始,由第一个“:"符号将其与URL的其余部分分隔开来。方案名是大小写无关的。

 

主机与端口:  提供:哪台机器装载了资源,以及在那台机器的什么地方可以找到能对目标资源时行访问的服务器。

可以用主机名,或者IP地址来表示主机名。

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

 

用户名和密码:http://joe:passwd@www.joes-hardware.com/sales_info.txt

 

路径:url路径组件说明了资源位于服务器的什么地方。路径通常很像一个分级的文件系统路径。

 

参数:Http url的路径组件可以分成若干路径段。每段都可以有自己的参数:http://www.joes-hardware.com/hammers;sale=fale/index.html;graphics=true

 

查询字符串:?名/值 对的形式,名值对之间用字符&分隔 ?item=12&color=blue

 

片段:为了引用部分资源或资源的一个片段,Url支持使用片段frag组件来表示一个资源内部的片段。片段挂在url的右手边,最前面有一个字符 #

 (锚)

HTTP 服务器通常只处理整个对象,而不是对象的片段,客户端不能将片段传送给服务器,浏览器从服务器获得了整个资源之后,会根据片段来显示部分资源 。

服务器处理的是整个对象,因此URL片段仅由客户端使用。

 

URL快捷方式:web客户端可以理解并使用几种URL快捷方式。相对url是在某资源内部指定一个资源的便捷缩略方式。很多浏览器还支持URL的自动扩展,也就是用户输入URL的一个关键部分,然后由浏览器将其余部分填充起来

相对URL:

URL有两种方式:绝对的和相对的。

相对URL是不完整的。要从相对URL中获取访问资源所需的全部信息,就必须相对于另一个,被称为其基础base的URL进行解析。

相对URL是URL的一种便捷缩略记法。使用缩略形式的相对url语法,HTML的编写者就可以省略URL中的方案/主机和其他一些组件了。这些组件可以从它们所属资源的基础url中推导出来。其他资源的URL也可以用这种缩略形式来表示。

 

基础URL:转换处理的第一步就是找到基础URL。基础URL是作为相对URL的参考点使用的。可以来自以下几个不同的地方。

在资源中电显式提供:有些资源会显式地找定基础url。

封装资源的基础URL:如果在一个没有显示指定基础URL 的资源中发现了一个相对URL,可以将他所属资源的URL作为基础。

没有基础UrL :在某些情况下,没有基础URL,这通常意味着你有一个相对url,但有时可能只是一个不完整或损坏了的Url.

 

应用程序要照一定规范工作。客户端应用程序在向其他应用程序发送任意URL之前,最好把所有不安全或受限字符都进行转换。

 

posted @ 2020-05-27 15:44  caojuanshu  阅读(186)  评论(0编辑  收藏  举报