《HTTP权威指南》读书笔记(二) :URL与资源
1、URL是什么
URL就是因特网资源的标准化名称。URL指向一条电子信息片段,告诉你它们位于何处,以及如何与之交互。通俗来说,就是浏览器寻找信息所需的资源位置。
URI是一类更通用的资源标识符,URL是其子集,URI包括URL和URN。
2、URL的构成
方案://服务器位置/路径
第一部分是方案,如:http://i.cnblogs.com 中的http告诉博客园服务器将使用http协议访问资源。
第二部分是服务器位置,如:i.cnblogs.com 告知Web客户端资源位于何处,通过DNS服务器解析域名访问到博客园服务器。
第三部分是路径,如:/EditPosts.aspx 为资源路径,告知服务器需要资源的位置。
3、URL的语法
大多数URL方案的URL语法都由这9部分构成,称为通用格式:
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>
看起来很长很多,但是几乎没有哪个URL中包含所有的这些组件,URL最重要的3个部分是 方案(scheme)、主机(host)、路径(path)。
| 组件 | 描述 | 默认值 |
| 方案(scheme) | 访问服务器以获取资源时要使用哪种协议 | 无 |
| 用户(user) | 某些方案(如:ftp://joe:joespassword@ftp.prep.com/pub/gnu )访问资源时需要的用户名 | 匿名 |
| 密码(password) | 用户名后面可能要包含的密码,中间由冒号(:)分隔 | 浏览器发送默认密码 |
| 主机 | 资源宿主服务器的主机名或以.分割的IP地址 | 无 |
| 端口 | 资源宿主服务器正在监听的端口号。很多方案都有默认端口号。 | 每个方案不同,如:HTTP 80、Https 443、FTP 21等 |
| 路径 |
服务器上的资源的本地名,由一个斜杠(/)将其与前面的URL组件分割开来。路径组件的语法是与服务器和方案有关的。 (每个路径段都有自己的参数组件) |
无 |
| 参数 | 某些方案会用这个组件来指定输入参数。参数为key/value键值对,URL中可以包含多个参数字段,它们之间用;分割 | 无 |
| 查询 |
某些方案会用这个组件传递参数以激活应用程序。查询组件的内容没有通用格式。用字符"?"将其与URL其他部分分割。 很多网关希望查询字符串以一系列“key/value”对的形式出现,"key/value"对之间用&分割 |
无 |
| 片段 | 一小片或一部分资源的名字。引用对象时,不会将frag字段传送给服务器;这个字段在客户端内部使用。通常用于锚点链接。 |
无 |
总结:
本章详细探讨了URL的发展历史和结构和语法等,书中还提到了相对URL路径转换成绝对URL的流程,和URL中对特殊字符的处理,以及列举了一些常用的scheme,学习之后对URL有较深的理解。
《HTTP权威指南》读书笔记(二) :URL与资源的更多相关文章
- HTTP权威指南读书笔记(一)HTTP概述、URL和资源及报文详解
一.HTTP概述 1.WEB客户端和服务器. 2.资源:资源可以是各种格式的静态文件,也可以是应用程序. 3.媒体类型 4.URI:统一资源标识符 URL:统一资源定位符. URL的第一部分称为方案: ...
- HTTP权威指南读书笔记
HTTP权威指南笔记 读书有两种境界,第一种境界是将书读薄,另一种是读厚.本篇文章就是HTTP权威指南的读书笔记,算是读书的第一重境界,将厚书读薄.文章对HTTP的一些关键概念做了比较详细的概述,通读 ...
- css权威指南读书笔记
今天翻手机,翻到了许久之前看css权威指南时的笔记,遂移到博客中来. 1.属性选择器p.one class名为one的p元素p[class][name] 含有class和name属性的p元素p[cla ...
- Hadoop权威指南学习笔记二
MapReduce简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.n ...
- netty权威指南学习笔记二——netty入门应用
经过了前面的NIO基础知识准备,我们已经对NIO有了较大了解,现在就进入netty的实际应用中来看看吧.重点体会整个过程. 按照权威指南写程序的过程中,发现一些问题:当我们在定义handler继承Ch ...
- 经典的性能优化最佳实践 web性能权威指南 读书笔记
web性能权威指南 page 203 经典的性能优化最佳实践 无论什么网络,也不管所用网络协议是什么版本,所有应用都应该致力于消除或减 少不必要的网络延迟,将需要传输的数据压缩至最少.这两条标准是经典 ...
- css权威指南读书笔记-第10章浮动和定位
这一章看了之后真是豁然开朗,之前虽然写了圣杯布局和双飞翼布局,有些地方也是模糊的,现在打算总结之后再写一遍. 以下都是从<css权威指南>中摘抄的我认为很有用的说明. 浮动元素 一个元素浮 ...
- HTTP权威指南阅读笔记二:URL与资源
URL中的限制字符: 在URL中,有几个字符被保留起来,有着特殊的含义.有些字符不在定义的US-ASCII可打印字符集中.还有些字符会与某些因特网网关和协议产生混淆,因此不赞成使用. 下面这些字符是U ...
- Java性能优化权威指南-读书笔记(二)-JVM性能调优-概述
概述:JVM性能调优没有一个非常固定的设置,比如堆大小设置多少,老年代设置多少.而是要根据实际的应用程序的系统需求,实际的活跃内存等确定.正文: JVM调优工作流程 整个调优过程是不断重复的一个迭代, ...
- Java性能权威指南读书笔记--之二
新生代填满时,垃圾收集器会暂停所有的应用线程,回收新生代空间.这种操作被称为Minor GC. 老年代被填满时,垃圾收集器会暂停所有应用线程,对其进行回收,接着对堆空间进行整理.这个过程被称为Full ...
随机推荐
- gitlab安装随记
gitlab安装 配置yum源 sudo vim /etc/yum.repos.d/gitlab-ce.repo 按照网上别人的例子,修改为清华的源 [gitlab-ce] name=Gitlab C ...
- SiteMesh3简介及使用
所属专栏: Java开发经验记录 最近项目用到SiteMesh3,研究学习一段时间后决定写篇博文来记录收获. SiteMesh SiteMesh 介绍 工作原理 配置及使用 下载 1添加maven ...
- 开发企业微信打卡API笔记
获取企业微信打开API上面的数据 根据企业ID和打卡模块的secret获取access_token 打卡传参body为json格式的字符传 创建打卡对象把参数写入,useridlist为list格式. ...
- git解决代码冲突
1.当项目开发是几个人的时候,难免会出现代码冲突,使用git命令行解决冲突的方法如下: git checkout develop git pullgit checkout feature/新建会员功能 ...
- .NET--------枚举扩展方法(枚举转list,获取枚举描述)
/// <summary> /// get enum description by name /// </summary> /// <typeparam name=&qu ...
- 【SoftwareTesting】Lab 2
一. 在火狐浏览器上安装selenium插件 点击“开发者”的选项,然后点击“获取更多工具”,输入seleniumIDE进行搜索,找到后进行安装即可.安装完成后火狐浏览器的右上角会多出一个小的带 ...
- admin 显示多对多字段
class BookAdmin(admin.ModelAdmin): def 作者(self, object): return [a.name for a in object.author.all() ...
- Git通过密钥对远程仓库上传和更新详细操作
1,先到ssh中ls查看之前本地生成的公钥和私钥,然后将别人的密钥替换掉自己的密钥,这里我把别人的密钥放在d:/desktop/id_rsa 中,利用cp /D/Desktop/id_rsa id_ ...
- unity3d 数据加/解密
[/font]using System.Collections; using System.Text; using System.Security.Cryptography; using System ...
- 绘客708s的设置
平时也有画画的想法,虽然画的不好,但是装备还是少不了的.因此,在大概一年之前就入手了绘客的708s的绘画板,10寸乘6寸的,很大,手绘方便多了. 在这段时间内,使用绘画板的时候还是遇到了一些问题,最主 ...