URL解析

识别URL
image.png

传输协议:http / https / ftp …

  1. HTTP超文本传输协议:{除了传输文本「例如:字符串…」还可以传输其余的信息「例如:文件流、二进制或者Buffer格式再或者BASE64格式的数据…」}
  2. HTTPS=HTTP+SSL 更加安全的HTTP:【证书认证】传输的内容经过加密处理},一般涉及支付类的产品都采用这种协议
  3. FTP文件传输协议:一般用于直接基于一些FTP工具「例如:filezilla…」,把开发的文件部署到服务器上

    用户名密码:user:pass「一般是不用的」

    主机名:服务器名+域名

  4. 服务器名

    1. www、mail、
    2. 域名解析出来的一个IP地址,可能会对应多个的主机,就需要我们使用服务器名去定位服务器
  5. 域名:zhufengpeixun.cn

    1. 分类
      1. 顶级域名 zhufengpeixun.cn
      2. 一级域名 www.zhufengpeixun.cn
      3. 二级域名 video.zhufengpeixun.cn
      4. 三级域名 student.video.zhufengpeixun.cn
    2. 购买的是顶级域名,自己后期可以分配二级/三级域名
    3. 域名的目的就是给对应的服务器外网IP起一个别名方便用户记忆
    4. 域名和服务器都购买完成后,需要在DNS服务器上生成一条解析记录,用于以后的DNS解析
    5. 协议、域名、端口号只要有一个不同,则为跨域!!
      1. www.baidu.com VS www.qq.com :跨域
      2. www.baidu.com VS video.baidu.com :跨域「主域相同,但是子域不同」
      3. www.baidu.com:80 VS www.baidu.com:443:跨域
      4. http://www.baidu.com VS https://www.baidu.com:跨域
      5. http://www.baidu.com:80/st.html VS http://www.baidu.com:80/index.html:同源

        端口号:80

  6. 端口就是用来区分一台服务器上的多个项目的「每一个项目其实都是一个服务,用nginx/apache来指定具体位置」

  7. 取值范围 0~65535之间
  8. 默认端口号:在浏览器地址栏中输入地址,我们不写端口号,浏览器会帮助我们加上,传递给服务器的时候是带着端口号的

    1. http->80 https->443 ftp->21

      请求资源的路径名称:/st/index.html

  9. 基于路径找到客户端需要的资源文件

  10. 看到的URL地址可能是重写后的「看到的地址在文件目录中不存在」

    1. ajax数据请求的接口地址 /api/list
    2. url重写
      1. https://item.jd.com/10024624707120.html{静态地址利于SEO优化}
      2. 原本地址:https://item.jd.com/detail.jsp?id=10024624707120 {动态地址不利于SEO优化}
    3. http://www.xxx.com/info/10024624707120 路径参数「导航」
    4. http://www.xxx.com/info?id=10024624707120

      问号参数信息:?xxx=xxx&xxx=xxx

  11. 把信息传递给服务器 GET系列请求一般都是这样传递参数

    1. xxx=xxx&xxx=xxx -> x-www-form-urlencoded 格式
  12. 如果是页面跳转,把信息传递给另外一个页面
  13. SPA单页面中,实现组件和组件之间 通信

    HASH(哈希)值:#video

  14. 锚点定位

  15. HASH路由

    URL编译编码问题:

  16. encodeURI & decodeURI编译空格和中文,一般编译整个URL中的信息0

  17. encodeURIComponent & decodeURIComponent:编译空格和中文以及一些特殊符号,所以一般只是用来编译传递的信息值的,而不是整个URL「放置URL解析不了或者传递信息的乱码等问题」
    1. ——前后端都支持的API
  18. escape & unescape——用于客户端页面信息传递或者一些信息的编译的「例如:cookie中的中文内容编译」