什么是IP?
internet protocal,他主要约定了两件事,
- 如何定位一台设备
- 如何封装数据报文,以跟其他设备交流。
家里的路由器有一个外网IP,你所有连接了这个路由器的设备都是这个外网IP,这就是你在互联网中的地址。
如果重启路由器,很可能被重新分配一个外网IP,也就是说路由器没有固定的外网IP。
几个特殊的IP
127.0.0.1表示自己
localhost通过hosts指定为自己
0.0.0.0不表示任何设备
端口
一台机器可以提供很多种服务,每个服务一个号码,这个号码就叫做端口号port。
TCP/UDP端口列表--维基百科
提供HTTP服务最好使用80端口
提供HTTPS服务最好使用443端口
提供FTP服务最好使用21端口
一共有65535个端口(基本够用)
使用端口的规则
- 0-1023号端口是留给系统使用的
- 只有拥有管理员权限后,才能使用1024端口
- 其他端口可以给普通用户使用
比如http-server默认使用8080端口 - 一个端口如果被占用就只能换一个端口
IP和端口的关系?
IP和端口缺一不可
IP是用来定义机器,端口用来定义服务。IP和端口合并使用可以定义特定机器提供的特定服务。
域名
域名和IP是对应的。
一个域名可以对应不同IP,这个叫负载均衡,防止一台机器扛不住。
一个IP可以对应不同域名,这个叫共享主机,穷开发者会这么做。
域名和IP是通过DNS对应起来的。
- 当我们输入一个域名,浏览器会向DNS服务器询问这个域名对应什么IP 。
- DNS服务器会返回一个IP。然后浏览器才会向对应的IP发送80/443端口发送请求。
- 请求内容是查看这个网站的首页。
URL(统一资源定位服务)举例
HTTPS默认端口443
锚点看起来有中文,实际上不支持中文。
锚点是无法在Network面板看到的,因为锚点不会传给服务器。
HTTP协议
基于TCP和IP两个协议
curl命令
curl命令用于发出HTTP请求curl -v + 域名 多显示一些内容
url会被curl工具重写,先请求DNS获取IP。
先进行TCP连接,TCP连接成功后开始发送HTTP请求
请求->响应->关闭TCP连接
结束
HTTP全称
HyperText Transfer Protocol
www.baidu.com 和 baidu.com是不同的域名,它们还有相同的一级域名baidu.com
网友评论