浅析 URL

133 阅读5分钟

hosts文件,在windows系统中,hosts位于C:\Windows\System32\drivers\etc\hosts。 在 macOS / Linux系统中,hosts 位于/etc/hosts

什么是IP

IP全称:internet Protocal(网际协议地址、互联网协议地址)

IP地址主要作用有两个,一个是准确的定位一台设备(标识设备或网路),二是封装数据报文,以便跟其他设备交流(只要处在互联网中至少会有一个独立的IP, 寻址(location addressing))。

IP分为内网和外网

  • 外网IP:值得是路由器以外的的IP
  • 内网IP:路由器所创建的IP,内网基本IP格式是192.168.xxx.xxx,以路由器给每一个内网设备分配不同内网IP

特殊IP

  • 127.0.0.1 表示自己
  • localhost 通过hosts指定自己
  • 0.0.0.0 不表示任何设备

hosts文件,创建本地地址

  1. hosts 文件中以 # 开头的表示注释
  2. hosts 中可以添加一行 127.0.0.1 fuck,让 fuck 成为 127.0.0.1 的别称
  3. hosts 文件一般需要用管理员权限才能编辑

ping

  • -tping 指定的计算机直到中断。
  • -a:将地址解析为计算机名。
  • -n count:发送count指定的ECHO数据包数。默认值为4
  • -l size:发送包含由size指定的数据量的ECHO数据包。默认为32字节;最大值是65,527
  • -f:在数据包中发送"不要分段"标志。数据包就不会被路由上的网关分段。
  • -i ttl:将"生存时间"字段设置为ttl指定的值。
  • -v tos:将"服务类型"字段设置为tos指定的值。
  • -r count:在"记录路由"字段中记录传出和返回数据包的路由。count可以指定最少1台,最多9台计算机。
  • -s count:指定count指定的跃点数的时间戳。
  • -j host-list:利用host-list指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源IP允许的最大数量为9
  • -k host-list:利用host-list指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源IP允许的最大数量为9
  • -w timeout:指定超时间隔,单位为毫秒。
  • destination-list:指定要ping的远程计算机。

端口

简单理解就是一台机器可以提供不同服务,那么每一个服务就是一个号码,这个号码就叫做port(端口号)

  • 提供HTTP服务最好使用80端口(80/TCP: 超文本传输协议)
  • 要提供HTTPS服务最好使用443端口(443/TCP: 超文本传输安全协议)
  • 要提供FTP服务最好使用21端口(21/TCP: 文件传输协议)
  • 共有65535个端口

规则

  • 0到1023(2的10次方减1)号端口是留给系统使用
  • 你只有拥有了管理员权限后,才能使用这1024个端口
  • 其他端口可以给普通用户使用
  • 比如http-server默认使用8080端口
  • 一个端口如果被占用,你就只能换一个端口

基本可以理解就是,IP与端口是缺一不可

什么是URL

URL全称:Uniform Resource Locator(统一资源定位服务)

URL包含:协议 + 域名或IP + 端口号 + 路径 + 查询字符串(参数) + 锚点

  • 协议:最主要的协议有两个种,主要作用是:规定请求和响应的格式。默认端口是80HTTPS默认端口是443,在使用这两协议时,可以不用显示指定端口,浏览器会默认加上端口的。
  • 域名或IP:域名就相当于是IP的别称,是表示IP的一个字符串。IP的作用就是用来定位一个机器。
  • 端口:每台机器都有多个端口,这就是每台机器可以提供多种不同的服务,一部电脑大概有60000+个端口,而0~1023个端口只能提供给内部管理员使用,用户只能使用1024后面的端口,指定端口的命令比如说在cmder命令行工具里输入命令:http-server -c-1 -p 1024。总之端口与IP缺一不可,TP定位机器,端口定位服务。
  • 路径:一个字符串,作用是判定你要访问是什么网页。
  • 查询字符串:同一个页面,不同内容
  • 锚点:同一个页面,不同位置;浏览器不会向服务器发送这部分请求 举列:https://(协议) www.baidu.com(域名) /s(路径) ?wd=hello&rsv_spt=1(查询参数) #5(锚点)

文件协议不属于www的内容,文件协议就是文件,不属于网页也不属于前端,就是你本地的东西。

域名

域名是IP地址的代称,分为顶级域名、二级域名、三级域名

  • com 是顶级域名
  • baidu.com 是二级域名(俗称一级域名)
  • www.baidu.com 是三级域名(俗称二级域名)
  • www.baidu.com 和 baidu.com 可以不是同一家公司,也可以是
  • github.io是子域名xxx.github.io 免费给你使用
  • www 和 没有www 的域名不是同一个域名

域名与IP

  1. 一个域名可以对应不同IP,这个叫做均衡负载
  2. 一个IP可以对应不同域名这个叫做共享主机

什么是DNS

DNS全称:Domain Name System ( 域名系统 或 域名服务 )

把域名和IP连通起来的就叫做DNS

作用: 用于解析用户访问域名的对应IP地址;将域名与 IP 地址能通过 DNS 来进行相互映射,一个域名可以对应不止一个 IP 地址,一个 IP 地址也可以对应不止一个域名

过程

输入网址之后会去响应电信、联通等提供的DNS服务器询问对应什么IP,电信、联通会回答一个IP(具体过程很复杂,暂时不研究),然后浏览器才会对应IP的80/443端口发送请求,请求内容是查看你输入的网址首页

nslookup命令用于查询DNS记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题

image.png

上面是本机IP,下面是baidu.com域名对应的IP