浅析URL

74 阅读2分钟

URL

全称为Uniform Resource Locator,统一资源定位符,俗称网址

组成

协议 + 域名 / IP + 端口 + 路径 + 查询字符串 + 锚点

协议

  1. HTTP协议

    HTTP 是超文本传输协议,也就是Hyper Text Transfer Protocol。

  2. HTTPS协议

    HTTP 信息是明文传输,存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。

域名

  • 对IP的别称
  • 负载均衡:一个域名可以对应不同IP,防止一台机器扛不住
  • 共享主机:一个IP可以对应多个域名

补充

  • com 顶级域名
  • xxxxx.com 二级域名(俗称一级域名) -- 父
  • www.xxxxx.com 三级域名(俗称二级域名) -- 子
  • github.io 把子域名 xxx.github.io 免费给用户使用
  • 所以www.xxxxx.com和xxxxx.com可能不是同一家公司
  • www是多余的

IP

Internet Protocol

在互联网中的设备会有一个独特的IP,IP又可分为内网IP和外网IP,这里就会涉及到路由器(网关)的概念

路由器

  • 连接电信DNS服务器,路由器就会有一个「外网IP」
  • 如果重启服务器,「外网IP」可能会变更
  • 广播无线WIFI供电脑手机连接
  • 创建内网,内网中的设备使用「内网IP」
  • 联通内网和外网

有几个特殊的IP

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

mac的hosts文件

ping命令 :检查与主机的网络连接,每秒发送一个数据报并且为每个接收到的响应显示一行输出

➜  ~ ping baidu.com
PING baidu.com (39.156.66.10): 56 data bytes
64 bytes from 39.156.66.10: icmp_seq=0 ttl=50 time=45.228 ms
64 bytes from 39.156.66.10: icmp_seq=1 ttl=50 time=51.402 ms
64 bytes from 39.156.66.10: icmp_seq=2 ttl=50 time=43.312 ms
64 bytes from 39.156.66.10: icmp_seq=3 ttl=50 time=50.530 ms
^C
--- baidu.com ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 43.312/47.618/51.402/3.430 ms

DNS

作用:将IP和域名对应起来

nslookup命令:查询域名解析是否正常

➜  ~ nslookup baidu.com #采用默认的DNS服务器查询
Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
Name:	baidu.com
Address: 39.156.66.10
Name:	baidu.com
Address: 110.242.68.66

➜  ~ nslookup baidu.com 114.114.114.114 #采用指定的DNS服务器查询
Server:		114.114.114.114
Address:	114.114.114.114#53

Non-authoritative answer:
Name:	baidu.com
Address: 110.242.68.66
Name:	baidu.com
Address: 39.156.66.10

端口

  • 一台机器可以提供不同服务
    • HTTP 80
    • HTTPS 443
    • FTP 21
    • 一共65535个端口
  • 规则

    • 1~1023是留给系统使用的,只有拥有管理员权限才能使用这1024个端口
    • http-server默认使用8080端口
    • 一个端口被占用,就只能使用另外一个
  • IP和端口缺一不可