URI, URL 与 URN
URI
* URI: 全称 Uniform Resource Identifier, 即统一资源标识符, 用来在互联网上唯一的标识某一特定的资源
* URI包含两个子集: URL 和 URN
URN
* URN: 全称 Universal Resource Name, 即统一资源名称, 只描述资源的名称, 而不定位 (很少使用)
例如: urn:isbn:0451450523 指定了一本书的ISBN, 可以唯一标识一本书, 但不能定位这本书的资源
URL
* URL: 全称Universal Resource Locator, 即统一资源定位符, 用来在互联网上唯一的定位某一特定的资源
例如: https://github.com/favicon.ico 定位到
URL的结构
scheme://[username:password@]hostname[:port][/path][;parameters][?query][#fragment]
* scheme: 协议, 常见协议有http, https, ftp等
* username, password: 用户名和密码, 有些URL需要指定用户名和密码才能访问
* hostname: 主机地址, 可以是域名或IP地址, 用于在网络中唯一标识一台主机
* port: 端口, 用于在一台主机上唯一标识一个程序
http协议默认端口80, https协议默认端口443
* path: 路径, 即指定的资源在服务器上的目录地址
* parameter: 参数, 用来指定访问某个资源是的附加信息 (很少使用)
* query: 查询, 用来携带查询相关数据, 是现在常用的携带get请求参数的方式
query以键值对的形式出现, 多个键值对以&分隔, 例如: ?wd=nba&ie=utf-8
* fragment: 片段, 是对资源描述的部分补充, 可以用作单页面路由, 也可以用作HTML锚点
HTTP与HTTPS
HTTP
HTTP全称 Hypertext Transfer Protocol, 即超文本传输协议, 规定了服务端和浏览器之间交换数据的格式和规则
HTTP版本及特点