一、IP(Internet Protocal)
1.定义
IP,全称互联网协议地址,是指IP地址,意思是分配给用户上网使用的网际协议(Internet Protocol,IP)的设备的数字标签。
2.作用
-
如何定位一台设备
-
如何封装数据报文,以跟其他设备交流
3.分类
- 外网IP
- 内网IP
4.路由器
- 内网的设备想要访问外网,必须经过路由器中转
- 外网设备想要把内容传送到内网,也要经过路由器
5.特殊的IP
- 127.0.0.1:表示自己
- localhost:通过hosts指定为自己
- 0.0.0.0:不表示任何设备
二、端口
1.定义
一台机器可以提供多种服务,每个服务对应一个号码,这个号码就叫端口号port
- 要提供HTTP服务,最好使用80端口
- 要提供HTTPS服务,最好使用443端口
- 要提供FTP服务,最好使用21端口
- 一共有65535个端口,基本够用
2.规则
- 0到1023号端口是留给系统使用
- 只有拥有管理员权限之后,才能使用1024端口
- 其他端口可以给普通用户使用
- 如果一个端口被占用,只能换另一个端口
3.端口与IP的联系
IP是用来定位设备的,端口是用来定位设备的服务
三、域名
1.定义
域名就是IP对应的字符串
- 一个域名可以对应不同的IP(均衡负载,防止一台机器扛不住)
- 一个IP可以对应不同的域名(共享主机)
2.DNS
域名和IP通过DNS对应起来
3.举例,当输入google.com时
过程
-
Chrome浏览器会向电信/联通提供的DNS服务器询问google.com对应什么IP
-
电信/联通会回答一个IP(具体过程很复杂,暂不研究)
-
然后Chrome会向对应的IP的80/443端口发送请求(服务器默认用80提供http服务,默认用443提供https服务)
-
请求内容为查看google.com的首页
4.google.com/www.google.com
-
com是顶级域名
-
google.com是二级域名(俗称一级域名)
-
一级域名和二级域名是父子关系
5.如何请求不同的页面
- 在同一个服务器上访问不同的路径
- 使用Chrome开发者工具Network面板可以查看区别
6.同一个页面,访问不同的内容
-
通过查询参数可以做到
7.同一个内容,访问不同的位置
- 通过锚点可以做到
developer.mozilla.org/zh-CN/docs/…
developer.mozilla.org/zh-CN/docs/…
注意:
-
锚点看起来是中文,但不支持中文
-
#参考书会变成#%E5%8F%82%E8%80%83%E4%B9%A6 -
锚点在Network面板看不到,因为锚点不会传给服务器
四、URL
URL是协议、域名、路径、查询参数、锚点的综合
五、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. 完全结束