前言

这一章节讲述了关于 URL 的相关知识,主要包括下面的内容:

  1. URL 语法
  2. URL 快捷方式
  3. URL 编码与字符规则
  4. 常见的 URL 方案
  5. URL 的未来——URN

URL 语法

一般格式(九个组件):
<scheme>://<user>:<password>@<host>:<port>/<path>;<param>?<query>#<frag>

URL 主要的三个组件:

  1. 第一部分: URL 的「方案」(scheme)
  2. 第二部分: URL 的「主机」(host)
  3. 第三部分: URL 的「路径」(path)

其他的五个组件:

  • password: URL 的「密码」用户名后面的密码,以 “:” 分隔
  • user & password: URL 的「用户和密码」,与 URL 其他部分以 "@" 分隔
  • params: URL 的「参数」使用这个组件指定参数,与 和其他 param 之间以 ";" 分隔
  • query: URL 的「询问」使用这个组件传递参数以激活应用程序,与 URL 其余部分以 "?" 分隔
  • frag: URL 的「片段」 一小片或者一部分资源的名字,与 URL 其他部分以 "#" 分隔(不会传递给服务器,在客户端内部使用)

常见的 URL 方案

  • http:默认端口为 80
  • https:与 http 方案的语法相同,只是中间加了网景的 SSL(端到端的加密机制),默认端口为 443
  • mailto:基本格式与 URL 标准格式不同: mailto:
  • ftp
  • rtsp,rtspu
  • file
  • news
  • telnet

URL 快捷方式:相对 URL 和自动扩展 URL

相对 URL

算法通过继承基础 URL 来获得相对 URL,取得相应的资源.

自动扩展 URL

  1. 主机名相对扩展:在地址中输入 yahoo, 那么自动扩展出前面的 www. 和后面的 .com
  2. 历史扩展:浏览器储存用户过去访问过的 URL, 当你输入 URL的时候,浏览器进行自动的匹配

URL 的编码与字符规则

URL 的编码字符中包括了以下:

  1. URL 字符集:使用 US-ASCII 字符集(7位二进制码)
  2. 转义字符:比如空格、~、%等等:使用%后面加表示字符的 ASCII 码的十六进制数.

需要注意:
在转义字符中,存在字符限制的字符,即 URL 中保留以及受限的字符,比如: #、?、@...

URN 简介

URN 是 uniform resource name 的简称,中文名为统一资源名.
基本思想:在搜索资源的时候加入一个中间层,包含资源定位符,对资源实际的 URL 进行跟踪和登记.

HTTP 权威指南 第二章 URL 与资源的更多相关文章

  1. HTTP权威指南笔记-2.URL与资源

    2.1 URI与URL.URN URL是浏览器寻找信息时所需的具体位置.URl是人们对HTTP和其他协议的常用访问点:浏览器指向一个URL,浏览器就会发送适当的协议报文向服务器获取内容. URI是一类 ...

  2. Javascript权威指南——第二章词法结构,第三章类型、值和变量,第四章表达式和运算符,第五章语句

    第二章 词法结构 一.HTML并不区分大小写(尽管XHTML区分大小写),而javascript区分大小写:在HTML中,这些标签和属性名可以使用大写也可以使用小写,而在javascript中必须小写 ...

  3. 【笔记】javascript权威指南-第二章-词法结构

    词法结构 //本书是指:javascript权威指南    //以下内容摘记时间为:2013.7.28   字符集 UTF-8和UTF-16的区别?Unicode和UTF是什么关系?Unicode转义 ...

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

    [统一资源定位符URL]通过位置来标示资源,其表达的格式如下:https://item.jd.com/523961.html 第一部分(https)是方案,告知客户端要[怎样访问],这里使用的是htt ...

  5. WindowsPE权威指南 第二章 小工具 PEInfo代码的C语言实现

    主程序代码 PEInfo.c #include <Windows.h> #include<Richedit.h> #include "resource.h" ...

  6. WindowsPE权威指南 第二章 小工具 PEComp代码的C语言实现

    主程序代码 PEComp.c #include <windows.h> #include <Richedit.h> #include <Commctrl.h> #i ...

  7. WindowsPE权威指南 第二章 小工具 pedump代码的C语言实现

    2016-11-16 16:29:07 主程序代码 pedump.c #include <windows.h> #include <Richedit.h> #include & ...

  8. JavaScript权威指南 第二章 词法结构

    这章主要把保留字说一下 JavaScript 把一些标识符拿出来用做自己的关键字.因此,就不能再在程序中把这些关键字用做标识符了: break delete function return typeo ...

  9. PADSPCB权威指南-第一章 PADS软件系统(部分)(原创)

    PADSPCB权威指南-第一章(部分)豆丁地址:http://www.docin.com/p-707128286.html

随机推荐

  1. win-Linux文件脚本迁移过程中的问题 syntax error: unexpected end of file

    问题:  在win下写好的shell脚本,放到Linux上测试sh -n报错如下 ORA_check.sh: line 251: syntax error: unexpected end of fil ...

  2. py4CV例子3Mnist识别和ANN

    1.什么是mnist数据集:  , , ], ,,,,,,,,]], ., ., , , ], ,,,,,,,,]], ., ., , , ])) animals_net.setTermCriteri ...

  3. Codeforces Round #483 (Div. 2)题解

    A. Game time limit per test 2 seconds memory limit per test 256 megabytes input standard input outpu ...

  4. linux内核中的两个标记GFP_KERNEL和GFP_ATOMIC是用来干什么的?

    1. 作用 用来标记分配内核空间内存时的方式 2. 两个标记使用在什么场合? 如果内存不够时,会等待内核释放内存,直到可以分配相应大小的内存,也就意味着会发生阻塞,因此不能使用在中断处理函数中,而GF ...

  5. [HEOI2016/TJOI2016]树

    [HEOI2016/TJOI2016]树 思路 做的时候也是糊里糊涂的 就是求最大值的线段树 错误 线段树写错了 #include <bits/stdc++.h> #define FOR( ...

  6. poj2774

    思路 求出height之后 只要相邻两个子串是本串不同的来更新就好 因为这样一定是最优啊..取min显然越长越不好 (这里'%'当成'{'吧) abc%bca height i sa belong 0 ...

  7. ps2016新功能

    1             内容识别缩放(alt ctrl shift c) 2            内容感知移动 3            画笔大小和画笔硬度调整 alt + 鼠标右键:上下为硬度 ...

  8. 【OData】使用Odata获取数据之后再次获取可能得不到最新的数据问题记录

    工作上遇到个问题是关于系统后台数据库更新了某数据后, 前台界面刷新显示的不是最新的数据.但是大约10分后再次刷新就能显示新的数据,或者重启IIS等web server host. 最开始认为可能是因为 ...

  9. Java String 函数常用操作 & format() 格式化输出,代码详解

    package _String_; import java.util.*; import java.math.*; import java.lang.*; public class _Strings ...

  10. 测试常用的Linux命令总结

    列出常用的命令和最常用的用法,排名不分先后:) 1. find在/home目录下查找以.txt结尾的文件名find /home -name "*.txt"同上,但忽略大小写find ...