几个名词
HTTP(HyperText Transfer Protocol, 超文本传输协议)
IP(Internet Protocol, 网际互连协议)
URL(Uniform Resource Locator, 统一资源定位器)
DNS(Domain Name System, 域名系统)
IP
作用: 用于定位一台设备
IP分为内网IP和外网IP
路由器即网关,同时有内网IP和外网IP
几个特殊IP:
- 127.0.0.1表示自己
- localhost通过hosts指定自己
- 0.0.0.0不表示任何设备
ping baidu.com
// 查看IP
端口 port
作用:用来定位设备上的不同服务
0-1023端口只留给系统用
普通用户用其他端口
http服务默认是端口80
https服务默认是端口443
http-server -c-1 -p 1234
// 指定端口
IP定位设备,端口定位服务,IP和端口缺一不可
域名 Domain Name
作用:域名是对IP的别称
一个域名可以对应多个不同IP, 负载均衡
一个IP也可以对应多个域名,共享主机
com是顶级域名
baidu.com中的baidu是二级域名(俗称一级域名)
xxx.github.io中的xxx是三级域名(俗称二级域名)
aaa.com和www.aaa.com可以不是同一家公司
DNS
作用:将域名和IP相互映射
nslookup baidu.com
// 通过域名查看IP
URL
URL = 协议 + 域名或IP + (端口号) + 路径 + 查询字符串 + 锚点
https://www.baidu.com/s?wd=hello&rsv_spt=1#5
- 路径:用于请求不同页面
- 查询参数:用于请求同一页面不同内容
- 锚点:用于请求同一内容不同位置
- 锚点不支持中文
- 锚点不会传给服务器
curl命令
作用:发HTTP请求,支持上传和下载
curl -v http://baidu.com
发生了什么?
- url被curl工具重写,请求DNS获取IP
- 进行TCP连接,连接成功后发HTTP请求
- 请求内容看一眼
- 响应内容看一眼
- 响应结束后关闭TCP连接
- 真正结束