# 浅析URL

# 什么是URL

URL是为用户获取互联网资源的标识符, 有了它我们就能获取互联网上的一切内容.

# 组成

URL = 协议名 + 域名(IP) + 端口 + 路径 + 查询参数 + 锚点

# 协议

协议名用http或者https协议

# 域名

域名只能向云服务商或者第三方去购买, 价值从几块到几百万不等.主要看网站的运营.当用户在浏览器输入域名,域名会被发送到DNS服务器解析出对应的IP地址, 根据HTTP协议解析默认端口(http协议走80端口, https协议走443端口).

TIP

我们经常输入www.xxx.com来访问某个网站.事实上这是错的.只需访问xxx.com即可.www.xxx.com只是xxx.com的子域名, 并不就是其本身. 历史原因是当年的互联网都在蹭WWW的热点.于是分分在自家域名前加www. 好像就是一个互联网公司了. 子域名应用得很多. 最贴近我们的就是github.io. 它是GitHub的域名, 然后以username.github.io的形式给用户免费使用. 我的博客域名也是如此.

# 路径, 查询参数, 锚点

路径名也就是部署在服务器上的资源的路径, 通过查询参数可以使相同路径里的资源返回不同的内容, 锚点可以选择当前页面的不同部分.

警告

锚点的value不是中文, 用户输入中文也会被转义成一串字符.其次, 锚点的value不会随着URL传送到服务器上.某鹅厂程序员曾为此付出年终奖的代价.

# IP, DNS

IP定位了所有internet上设备的地址. 通过网线连接或者WIFI连接的设备的IP地址就是其连接的路由器的IP地址. 这些设备之间用内网IP进一步区分. 但外网IP是相同的.DNS就是将域名解析为IP地址.