IP Internet protocal
- 约定了两件事
- 如何定位一台设备
- 如何封装报文,和其他设备交流
- 几个特殊IP
- 127.0.0.1表示自己
- localhost通过hosts指定为自己(hosts文件只能以管理员模式打开)
- 0.0.0.0不表示任何设备
端口 port
一般是指TCP/IP协议中的端口,端口号的范围从0到65535,一台机器可以提供不同服务:
- 比如提供HTTP服务的80端口;
- 提供HTTPS服务的443端口;
- 提供FTP服务的21端口等
域名
域名是对IP的别称
例如baidu.com对应的ip可以通过命令行输入ping 域名 获得
- 一个域名可以对应不同的IP,叫做负载均衡
- 一个IP可以对应不同的域名,叫做共享主机
- 域名级别:
- com是顶级域名
- baidu.com是二级域名(俗称一级域名)
- www.baidu.com是三级域名(俗称二级域名)
DNS Domain Name System
IP和域名通过DNS对应起来
- 作用:简而言之将域名解析为IP
- 命令行输入
nslookup baidu.com会返还baidu.com对应的所有IP
当你在chrome输入baidu.com 时发生了什么
- chrome浏览器会向电信/联通提供的DNS服务器询问baidu.com对应什么IP
- 电信/联通会回答一个IP(具体过程很复杂)
- 然后chrome才会向对应的IP的80/443端口发送请求
- 请求内容是查看baidu.com的首页
URL
协议+域名或IP+端口号+路径+查询字符点+锚点
- 注意:
- 锚点看起来可能有中文,实际不支持中文。
- 锚点是无法在开发者工具的Network面板看到的,因为锚点#后面不会传给服务器
curl命令
用curl -v http://baidu.com发HTTP请求
- url会被curl工具重写,先请求DNS获得IP
- 先进行TCP连接,TCP连接成功后,开始发送HTTP请求