什么是URL
URL是Uniform Resource Locator的缩写,统一资源定位符,
URL的组成部分
URL = 协议 + 域名或IP + 端口号[默认省略] + 路径 + 查询参数 + 锚点
例如: baike.baidu.com/search?word…
- 协议: https
- 域名: baike.baidu.com
- 端口: 默认为443端口
- 路径: /ssearch
- 查询字符串: ?word=123&pn=0&rn=0&enc=utf8
- 锚点: #1
协议
主要有HTTP协议和HTTPS协议,HTTP协议默认使用端口号80, HTTPS协议默认使用端口号443
域名
域名就是对IP的别称。
- 一个域名可以对应多个IP(这个叫做均衡负载,防止一台机器抗不住)
- 一个IP可以对应不同域名(这个叫做共享主机,穷开发者才这么做)
IP相关
- IP可以定位一台设备
- IP分为外网IP(家里的路由器)和内网IP(手机和电脑)
- 内网中的设备可以相互访问,但是不能直接访问外网
- 内网设备想访问外网要通过路由器中转
- 外网中的设备可以相互访问,但是不能直接访问内网
- 外网想访问内网也要通过路由器
ping baidu.com可以查什么域名对应什么IP,以及网站延迟
IP分为外网IP和内网IP
特殊的IP地址
- 127.0.0.1 表示自己
- localhost 通过host指定为自己
- 0.0.0.0 不表示任何设备
域名分类
- 第一级是顶级域,它包括通用顶级域,例如.com、.net和.org;以及国家和地区顶级域,例如.us、.cn和.tk
- baidu.com 便是二级域名
- www.baidu.com 是三级域名
所以
www.baidu.com和baidu.com是两个域名。
github.io是github的域名, userid.github.io是每个用户的域名
端口号
一台服务器可以提供很多服务,每个服务有不同的号码,这个号码就是端口。
- 80端口:HTTP服务
- 443端口: HTTPS服务
- 21端口: FTP服务
端口的使用规则
- 0-1023端口是系统用的,我们一般使用1024以后的端口
- 比如http-server默认使用8080端口
- 一个端口号被占了就只能使用其他端口
- 可以通过-p参数指定不同端口,例如:这样就可以指定使用1023端口
http-server -c-1 -p 1023
路径
如何请求同一服务器上不同网页?
用路径即可
路径是没有必要有后缀的
developer.mozilla.org/zh-CN/docs/…
developer.mozilla.org/zh-CN/docs/…
查询参数
请求同一个页面,能得到不同内容吗?
用查询参数即可
www.baidu.com/s?wd=hi
www.baidu.com/s?wd=hello
锚点
同一内容,不同位置?
用锚点即可
developer.mozilla.org/zh-CN/docs/…
developer.mozilla.org/zh-CN/docs/…
注意
锚点不支持中文,会把中文进行编码
#参考书会变成#%E5%8F%82%E8%80%83%E4%B9%A6
锚点是无法在network上看到的因为锚点不会传给服务器
DNS
DNS是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的,又名域名解析服务器
域名通过DNS与IP对应
如何通过域名找到对应IP
- nslookup+域名 如nslookup baidu.com可以查找对应多少个IP