一、IP:Inter Protocal,其主要约定了两件事
- 如何认定位一台设备
- 如何封装数据报文,以跟其他设备交流
二、几个特事故的IP
- 分别是
127.0.0.1表示自己;
localhost通过hosts指定为自己;
0.0.0.0不表示任何设备;
三、端口
1.端口就类似人们取餐的窗口;
2.一台机器可以提供不同服务;
- 要提供HTTP服务最好使用80端口
- 要提供HTTPS服务最好使用443端口
- 要提供FTP服务器最好使用21端口
- 一共有65535个端口(基本够用)
3.想要知道用什么端口,就去查维基百科,都一一列出来了。
4.端口使用规则
规则
- 0到1023(2的10次方减1)号端口是留给系统使用的;
- 只有拥有了管理员权限后,才能使用这1024个端口;
- 比如http-server默认使用8080端口;
- 一个端口如果被占用,你就只能换一个端口。
注意:IP和端口缺一不可
四、域名:域名就是对IP的别称
- baidu.com对应什么IP ping baidu.com
- qq.com对应什么IP ping qq.com
- 要点
- 一个域名可以对应不同IP
- 这个叫做均衡负载,防止及其扛不住
- 一个IP可以对应不同域名
- 这个叫做共享主机,穷开发者会这么做
域名和IP是怎么对应起来的
当你输入·····.com
- 过程
- 你的chrome浏览器会向电信/联通提供的DNS服务器询问·····.com对应什么IP
- 电信/联通会回答一个IP
- 然后Chrome才会想对应IP的80/443端口发送请求
- 请求内容是查看·····.com的首页
- 为什么是80或443端口
- 服务器默认用80提供http服务
- 服务器默认用443提供https服务
- 可以在开发者工具里看到具体的端口
五、如何请求不同的页面
- 路径可以做到
- 工具
- 使用Chrome开发者工具Network面板看看区别
同一个页面,不同内容
- 查询参数可以做到
同一内容,不同位置
- 锚点可以做到
- 注意
- 锚点看起来有中文,实际不支持中文
- #参考书会变成 #%E5%82%80%83%E4%B9%A6
- 锚点是无法在Network面板看到的
- 因为锚点不会传给服务器
六、URL=协议+域名或IP+端口号+路径+查询字符串+锚点
举例:
- HTTP(协议)基于TCP和IP两个协议
七、curl命令
- 用curl可以发HTTP请求 curl -v baidu.com curl -s -v -- www.baidu.com
- 理解以下概念 1.url会被curl工具重写,先请求DNS获得IP
2.先进行TCP连接,TCP连接成功后,开始发送HTTP请求
3.请求内容看一眼
4.响应内容看一眼
5.响应结束后,关闭TCP连接(看不出来)
6.真正结束
- HTTP 规定请求格式是什么,响应的格式是什么