zoukankan      html  css  js  c++  java
  • url中,关于如何正确对空格进行编码?

    A space may only be encoded to "+" in the "application/x-www-form-urlencoded" content-type key-value pairs query part of an URL. This is a MAY, not a MUST. In the rest of URLs, it is encoded as %20.

    In my opinion, its better to always encode spaces as %20, not as "+", even in the query part of an URL, because it is the HTML specification (RFC-1866) that specified that space characters should be encoded as "+" in "application/x-www-form-urlencoded" content-type key-value pairs. (see paragraph 8.2.1. subparagraph 1.) This way of encoding form data is also given in later HTML specifications, for example, look for relevant paragraphs about application/x-www-form-urlencoded in HTML 4.01 Specification, and so on.

    Here is a sample string in URL where the HTML specification allows encoding spaces as pluses: "http://example.com/over/there?name=foo+bar". So, only after "?", spaces can be replaced by pluses, according to the HTML specification. In other cases, spaces should be encoded to %20. But since it's hard to correctly determine the context, it's the best practice to never encode spaces as "+".

    I would recommend to percent-encode all character except "unreserved" defined in RFC-3986, p.2.3

    unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
    

    The implementation depends on the programming language that you chose.

    If your URL contains national characters, first encode them to UTF-8 and then percent-encode the result.

  • 相关阅读:
    Python的容器类型的遍历汇总
    python学习0313作业
    Python的字符编码
    hadoop-sqoop学习笔记
    eclipse Git & maven 安装
    使用mongoperf评估磁盘随机IO性能
    限制mongodb内存占用过高方法
    rabbitmq集群安装
    Perfmon
    mongodb所在目录空间不足解决方法
  • 原文地址:https://www.cnblogs.com/ch459742906/p/6408832.html
Copyright © 2011-2022 走看看