
一、IP
Internet Protocal
主要约定了两件事:
- 如何定位一台设备
- 如何封装数据报文,以跟其他设备交流
只要身处互联网中,就有一个独特的IP

如何获取外网IP??
- 从电信租用宽带,一年一千多
- 买了一个路由器,分别用电脑和手机连接路由器广播出来的无线WIFI
- 只要是路由器连上电信服务器,路由器就会有一个[外网IP],比如[14.17.32.211],就是一个外网IP。这就是你在互联网中的地址。
- 如果你重启路由器,那么你很有可能被重新分配到一个外网IP,也就是说你得路由器没有[固定的外网IP]
内网IP
- 路由器会在你家创建一个内网,内网中的设备使用内网IP,一般格式都为192.168.xxx.xxx
- 一般路由会给自己分配一个好记的内网IP,如192.168.1.1
- 然后路由会给每一个内网的设备分配一个不同的内网IP,如电脑192.168.1.2,手机是192.168.1.3,以此类推
路由器的功能
- 路由器有两个IP,一个外网IP和一个内网IP
- 内网中的设备可以互相访问,但是不能直接访问外网
- 内网设备想要访问外网,必须经过路由器中转
- 外网中的设备可以互相访问,但是无法访问你的内网
- 外网设备想要把内容送到内网,也必须通过路由器
- 内网和外网像两个隔绝的空间,无法互通,唯一的联通点就是路由器
- 路由器有时候也被叫作[网关]
几个特殊的IP
- 127.0.0.1表示自己
- localhost表示hosts指定为自己
- 0.0.0.0不表示任何设备
使用ping命令能根据域名查询到ip
ping baidu.com
二、端口
一台机器可以提供多种服务,每种服务对应一个端口号port
ip定位设备,port定位设备服务,缺一不可
一台机器提供不同的服务
- 要提供HTTP服务最好使用80端口
- 要提供HTTPS服务最好使用443端口
- 要提供FTP服务最好使用21端口
- 一共有65535个端口
端口常用规则
- 0到1023(2的10次方-1)号端口是留给系统用的
- 只有拥有管理员权限才能使有这1024个端口
- http-server默认使用8080端口,可通过http-server -c-1 -p 1234 手动修改端口
- 若http-server修改为系统端口,则网址上可不用加端口号
- 一个端口被占用,则只能换端口
三、域名(domain name)
qq.com为域名。对计算机或计算机组的标识。
域名和IP通过DNS相互映射,方便访问互联网。
可在cmder 输入 ping baidu.com 查询百度域名对应的ip
关键点:
- 一个域名可以对应多个ip,这叫负载均衡防止一台服务器扛不住,如华南、华北、华中服务器设置。
- 一个ip可以对应多个域名,这叫共享主机,穷开发者这么做。
四、DNS——输入网址到看到网页的过程
- 输入网站www.baidu.com 后,chrome会向电信/联通提供的DNS服务器询问百度对应的ip
- 电信/联通会回答一个ip
- chrome会向对应的ip的80/443端口发送请求
- 请求内容为查看百度首页
为什么是80或443端口呢??
- 因为服务器默认80提供http服务
- 默认443提供https服务
- 开发者工具可看到具体端口,右键inspect、network
注意:
www.xiedaimala.com 和xiedaimala.com不是同一个域名!!
- com是顶级域名,代表company
- xiedaimala.com是二级域名(俗称一级域名)
- www.xiedaimala.com是三级域名(俗称二级)
- gihub.io把子域名xxx.github.is免费给你使用,但是没什么必然联系,可以不为同一个公司的
使用nslookup可以查询DNS记录,查询域名解析是否正常
nslookup baidu.com
URL构成
协议+域名或ip+端口号+路径+查询字符串+锚点
以http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name为例
- http为协议
- www.aspxfans.com为域名
- 8080为端口号,以:开头
- /news/index.asp为虚拟路径,代表请求不同的页面
- boardID=5&ID=24618&page=1 为查询参数,以?开头,可以做到同一页面不同内容
- name为锚点,以#开头,可以快速定位该页面的内容
注意:
- 锚点看起来支持中文,其实复制粘贴后会不支持,转为其他码
- 锚点无法在Network面板看到,因为锚点不会传递给服务器(只是定位而已)