【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
仅允许非商业转载,转载请注明出处