什么是URL
- URL即:统一资源定位符,全称为Uniform Resource Locator。最初是由蒂姆·伯纳斯-李发明用来作为万维网的地址,现在已经被万维网联盟编制为因特网标准RFC 1738。
- URL的组成:协议+域名/IP+端口号+路径+查询字符串+锚点
- 在同一个服务器上使用不同的路径可以访问到不同的页面,路径没有必要加后缀'/'。(在开发着工具Network面板查看URL地址可以看到区别)
- 通过查询参数可以在同一个页面查看到不同的内容
- 通过锚点可以查看同一个页面同一个内容的不同位置
- 锚点无法在开发者工具Network中查看到,因为锚点不会传给服务器
- 锚点实际上不支持中文,复制后会显示一串字符。锚点只是在本地的不同内容,只和浏览器有关。
IP
- IP即:网络协议,全称Internet Protocal
- IP主要约定了两件事:1.如何定位一台设备;2.如何封装数据报文以跟其他设备交流。
- 外网IP&内网IP
- 几个特殊的IP
- 127.0.0.1表示自己的
- localhost通过host指定为自己
- 0.0.0.0不表示任何设备
端口
- 一台机器可以提供多种服务,每个服务对应一个号码,即端口号port。
- 使用端口的规则
- 0-1023号端口是留给系统使用的
- 1024号端口只有拥有了管理员权限后才能使用
- 其他端口可以给普通用户使用
- 一个端口被占用后就只能换一个端口才能使用
- 服务器默认用80端口提供HTTP服务,用443端口提供HTTPS服务,用21提供端口FTP服务
- IP和端口是上网缺一不可的条件,IP是用来定位一台设备的,端口是用来定位一台设备的服务的,两者用来定位一台设备提供的服务。
域名
- 域名就是对IP的别称
- 一个域名可以对应不同的IP。通过把同一个域名绑定至不同地区的IP上,即负载均衡,防止一台机器扛不住(网络优化)。一个IP可以对应不同的域名,即共享主机,共用一台主机。
- 域名的类别:com是顶级域名;xxx.com是二级域名(俗称一级域名);www.xxx.com 是三级域名(俗称二级域名)。(有无www的域名,可能是同一个域名也可以是不同域名。)
- www是多余的,域名前没必要加www。
DNS
- DNS即域名系统,全称Domain Name System,通过DNS可以把域名和IP联系起来。
- 域名系统中的任何名称都是域名。在域名系统的层次结构中,各种域名都隶属于域名系统根域的下级。
- 用DNS把域名和IP对应起来,过程如下:
- 当你输入一个网页地址时,你的浏览器会向电信/联通等提供的DNS服务器提问XXX地址对应什么IP
- 电信/联通回答一个IP
- 然后你的浏览器才会向对应IP的80/443端口发送请求
- 请求内容是查看你输入的地址的首页
ping命令&nslookup命令
- ping命令是基于 ICMP 协议来工作的,用来探测本机与网络中另一主机之间是否可达的命令。其主要作用如下:
- 用来检测网络的连通情况,如果两台主机之间ping不通,则表明这两台主机不能建立起连接。
- 分析网络速度
- 根据域名得到服务器的IP地址
- 根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量
- nslookup(name server lookup)命令是用于查询域名 DNS 信息的工具,有两种工作模式,即“交互模式”和“非交互模式”。
- ping命令会直接获取域名结果,nslookup命令会显式地从dns服务器获取结果。
- 在命令行中输入ping xxx域名,即可得到xxx域名对应的IP地址
- 在命令行中输入nslookup xxx域名,就可以看到xxx域名对应的所有地址
curl命令
- 用curl可以发送HTTP请求
- curl -v XXX.com
- curl -v www.XXX.com
- url会被curl工具重写,先请求DNS获得IP,然后进行TCP连接,TCP连接成功后,开始发送HTTP请求,响应结束后,关闭TCP连接。