URL概念
URL 即 Uniform Resource Locator统一资源定位器。 其格式为: 协议+域名+路径+查询参数+描点
IP
IP 即 Internet Protocal,主要约定了两件事:
- 如何定位一台设备
- 如何封装数据报文,以跟其他设备交流
IP分为外网和内网
外网IP
- 路由器,用电脑和手机分别连接路由器广播出来的无线WIFI。
- 只要路由器连上电信的服务器,那么路由器就会有一个「外网IP」,比如「14.17.32.211」就是一个外网IP,是你在互联网中的地址。
- 但是如果你重启路由器,那么你很有「可能」被重新分配一个「外网IP」,也就是说你的路由器没有「固定的外网IP」
内网IP
- 路由器会在你家里创建一个内网,内网中的设备使用内 网IP,—般来说这个IP的格式都是192.168.xxx.xxxo。
- 一般路由会给自己分配一个好记的内网IP,如192.168.1.1,然后路由会给每一个内网中的设备分配一个不同的内网IP,如电脑是192.168.1.2,手机是192.168.1.3,以此类推。
路由器的功能
- 路由器有两个IP, —个外网IP和一个内网IP。
- 内网中的设备可以互相访问,但是不能直接访问外网,内网设备想要访问外网,就必须经过路由器中转。
- 外网中的设备可以互相访问,但是无法访问你的内网,外网设备想要把内容送到内网,也必须通过路由器。
- 因此内网和外网就像两个隔绝的空间,无法互通,唯一的联通点就是路由器 ,所以路由器有时候也被叫做「网关」。
- 几个特殊的IP
- 127.0.0.1表示自己。
- localhost通过hosts指定为自己(C盘—windows—system32—drivers—etc—hosts以管理员方式运行)。
- 0.0.0.0不表示任何设备。
端口
一台机器可以提供很多服务,每个服务一个号码,这个号码就叫端口号port。
端口使用规则
- 0到1023 (2的10次方减1)号端口是留给系统使用的,只有拥有了管理员权限后,才能使用这1024个端口。
- 其他端口可以给普通用户使用,比如http-server默认使用8080端口 。
- 一个端口如果被占用,你就只能换一个端口。
- IP和端口缺一不可。
ping命令
ping (Packet Internet Groper)是一种包探索器,用于测试网络连接量的程序 。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 测试目的站是否可达及了解其有关状态 。
域名
(英语:Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识。 由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过域名系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。 域名就是对应IP的别称,可以通过ping来找到域名对应的IP。
知识点:
- 一个域名可以对应不同的IP,这个叫做均衡负载,防止一台机器扛不住
- 一个IP可以对应多个域名,这个叫做共享主机
- 域名和IP通过DNS对应起来
DNS概念
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
DNS(Domain Name System 域名系统)
- 当你输入xiedaimala.com,你的Chrome浏览器会向电信/联通提供的DNS服务器询问xiedaimala.com对应什么IP
- 电信/联通会回答一个IP(具体过程很复杂,不研究)
- 然后Chrome才会想对应IP的80/443端口发送请求
- 请求内容是查看xiedaimala.com的首页
- 可以用nslookup查看一个网站对应的IP
- 通过命令nslookup来向电信/联通询问IP:
注意:
- www.xiedaimala.com 和 xiedaimala.com不是同一个域名
- com是顶级域名
- xiedaimala.com是二级域名(俗称一级域名)
- xiedaimala.com是三级域名(俗称二级)他们是父子关系
- WWW是多余的吗?是的,非常多余。
- URL=协议+域名或ip+端口号+路径+查询字符串+锚点
- HTTP默认端口443
- IP用来定位一台设备,域名是IP的别称。一个IP可以对应不同的域名,一个域名可以对应不同的IP;
- 端口:一台服务器可以提供很多服务,每个服务一个号码,这个号码就叫端口号;
- 路径:在同一个设备上请求不同的内容;
- 查询参数:在同一个页面不同的内容;
- 锚点:无法在Network面板看到的。同一个内容不同位置显示;锚点不支持中文,不会传给服务器。如#参考书会变成#%E5%8F%82%E8%80%83%E4%B9%A6
curl命令
用curl可以发HTTP请求: curl -v baidu.com curl -s -v --www.baidu.com
理解以下概念:
- url 会被 curl 工具重写,先请求 DNS 获得 IP
- 先进行 TCP 连接,TCP 连接成功后,开始发送HTTP 请求
- 请求内容 + 响应内容(看一下)
- 响应结束后,关闭 TCP 连接(看不出来)
- 真正结束