zoukankan      html  css  js  c++  java
  • 浏览器 url 编码

    1、问题的由来 : http://www.ruanyifeng.com/blog/2010/02/url_encoding.html

    2、网络标准RFC 1738做了硬性规定: 只有字母和数字[0-9a-zA-Z]、一些特殊符号"$-_.+!*'(),"[不包括双引号]、以及某些保留字,才可以不经过编码直接用于URL。

       基于这个标准,所以浏览器必须对规定以外的字符进行编码。问题是不同的浏览器编码的规范是不一样的,后台解析的不可能把所有情况的考虑进去。

       所以需要通过js 进行统一的编码,这样使得 url 符合 标准了,浏览器就没有插手 编码的就会了。

    3、js 编码方法:

       a、escape:实际上,escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。比如"春节"的返回结果是 %u6625%u8282 。(已经不提倡使用了)

       b、encodeURI:是 真正用来对URL编码的函数。因此除了常见的符号以外,对其他一些在网址中有特殊含义的符号 "; / ? : @ & = + $ , #",也不进行编码

       如果 encodeURI 不编码的部分(如 = 号)放在参数中,就会打乱 url 的 解析的结果。所以需要 encodeURIComponent 把参数中encodeURI 不编码的部分编码掉。

       c、encodeURIComponent: 它用于对URL的组成部分进行个别编码,而不用于对整个URL进行编码。

        "; / ? : @ & = + $ , #",这些在encodeURI()中不被编码的符号,在encodeURIComponent()中统统会被编码

    4、注意: 浏览器 上 url 是区分大小写的,但是 vue 路由 默认是不区分 大小写的,可以配置大小写敏感。

    5、

  • 相关阅读:
    如何使用Flannel搭建跨主机互联的容器网络
    移动端——touch事件
    Javascript 模块化指北
    vue重构--H5--canvas实现粒子时钟
    redux-saga框架使用详解及Demo教程
    前端代码编写规范
    探秘JS的异步单线程
    POJ 3714 Raid 近期对点题解
    EditText把回车键变成搜索
    Swift语言概览
  • 原文地址:https://www.cnblogs.com/wfblog/p/10582944.html
Copyright © 2011-2022 走看看