1.URL 包含哪些内容

1.1.URL是什么

  • Uniform Resource Locator(统一资源定位系统)

    1.2.URL内容

  • URL=协议+域名或IP+端口号+路径+查询字符串+锚点

  • 示例

image.png
端口一般不会显示:HTTP 默认80;HTTPS 默认443

2.IP

  • Internet Protocol(网际互连协议)

主要约定两件事

  1. 如何定位一台设备
  2. 如何分装数据报文,以跟其他设备交流

    2.1.IP 分为外网和内网

    浅析 URL - 图2图解
    image.png

    2.2.如何查看 IP 地址

  • 终端输入 ipconfig (如果是连接路由器则不会显示外网地址)
  • 网站 IP138.com 可查询到本设备外网 IP

    2.3.几个特殊的 IP

  • 127.0.0.1 表示自己

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

    2.4.如何用 hosts 指定自己

    2.4.1.在哪里找到 hosts

  • C:\Windows\System32\drivers\etc\hosts

  • 可以看到 localhost 就是指定 127.0.0.1

    2.4.2.怎么执行

  • hosts 一般需要用管理员权限才能编辑

  • hosts 文件中以 # 开头的表示注释
  • hosts 中可以添加一行 127.0.0.1 frank,让 frank 成为 127.0.0.1 的别称(frank 可以换成任何你想换的词)
  • 那么在浏览器中输入frank:8080/index.html ,即可打开本地index.html

    3.端口

  • 一台机器可以提供很多服务,每个服务一个号码,这个号码就叫端口号port

    3.1不同的服务对应的port

  • HTTP服务推荐使用80端口

  • HTTPS服务推荐使用443端口
  • FTP服务推荐使用21端口
  • 一台设备一共有65535个端口(目前基本够用)
  • 更多详见 维基百科

    3.2.端口的使用规则

  • 0~1023(即2-1)号端口是给系统用的(拥有管理员权限才能使用这些端口,建议不要使用)

  • http-server 默认使用8080端口 (如终端输入:hs -c-1 -p 1234 可设置为使用1234号端口而不是默认的8080)
  • 一个端口被占用就只能换一个端口
  • 总而言之:IP 和端口缺一不可

    4.域名

    4.1.域名是什么

    域名就是对 IP 的别称

    4.2.ping 命令

  • 查域名对应的 IP(指本机当前访问的域名的 IP ,只是其中一个 IP)

  • ping+域名(如:ping baidu.com)
  • ping author

    4.3.域名解释

  • 一个域名对应不同的 IP —均衡负载—防止一台机器扛不住

  • 多个域名对应一个 IP —共享主机—穷开发者的做法

    4.4.域名的等级

  • com是顶级域名

  • xiedaimala.com是二级域名(俗称一级域名)
  • www.xiedaimala.com是三级域名(俗称二级域名)
  • 二级域名与三级域名是父子关系
  • 所以xiedaimala.com和www.xiedaimala.com不是同一个域名,可以是不同公司的

    5.DNS(将域名和IP对应起来)

  • Domain Name System(域名系统)

    5.1.DNS 的运行过程

  • 当你输入一个域名如:baidu.com,浏览器会向电信/联通等提供的 DNS 服务器询问 baidu.com 对应什么 IP

  • 然后浏览器会向对应 IP 的 80/443 端口发送请求
  • 请求的内容是百度的首页

    5.1.1.访问时可以打开开发者工具>Network 查看访问网站的全过程

    其中点击 name 里的其中一个可以看到端口号
    image.png

    5.2.如何查看域名 IP

  • nslookup+域名(显示所有域名对应的所有 IP)

如:nslookup baidu.com 可以查看到

5.3.如何设置DNS

控制面板>所有控制面板项>网络连接>右键自己的网络点击属性>双击IPv4
image.png

5.3.1.电信公开的DNS—114

首选:114.114.114.114
备用:114.114.115.115
注:会被嵌广告

6.如何请求不同的页面(使用路径可做到)

  • 例如:

https://developer.mozilla.org/zh-CN/docs/Web/HTML
https://developer.mozilla.org/zh-CN/docs/Web/CSS

  • Network 面板可以看到只有最后的路径 改变了
  • 路径可以没有后缀

    7.如何请求同一页面不同内容(查询参数可做到)

  • 示例:

https://www.baidu.com/s?wd=hi
https://www.baidu.com/s?wd=hello

  • /s—是指百度的搜索(单独 /—指路径为根目录,)
  • ?wd=xx—查询参数(wd是指 word)

    8.同一内容不同位置(用锚点实现)

    https://developer.mozilla.org/zh-CN/docs/Web/CSS#%E5%8F%82%E8%80%83%E4%B9%A6

  • 锚点看起来是有中文的,实际是不支持中文的,如上,# 后面原本是参考书三个字,复制过来是一串字符

  • 锚点无法在 Network 面板看到,因为锚点不会传给服务器