URL用啥编码传输

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了URL用啥编码传输相关的知识,希望对你有一定的参考价值。

URI用什么编码传输
我们请求一个网址的时候,比如http://www.baidu.com/
那么"http://www.baidu.com/"这段字符串是用什么编码传给服务器的呢?
我想可能是utf-8,但有没有哪里有正式的说明是什么编码的呢?
对于上面的这个,它只是一个域名,但是如果我要的是域名下的某个文件,那么文件名是用什么传输的呢??
比如
http://www.baidu.com/img/baidu_logo.gif
那么后面这段img/baidu_logo.gif应该不是由dns来解析的吧
这段是用什么编码传输的呢

URL编码既不是utf-8也不是gbk等我们常用的字符编码。

而是RFC1738编码(除将空格编码为加号“+”不符合外)。

类似于http://www.baidu.com/s?wd=%B9%FE%B9%FE&word=%B9%FE%B9%FE,其实就是经过RFC1738编码的URL地址。

RFC1738字符集中,将URL中除了 - _ . 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。除空格编码为加号(+)外。

我们访问的网站都会对使用RFC1738字符集的URL做出正确的解析。因为这是国际组织早就规定好了的。

DNS服务器一般不会涉及到这块,因为DNS是域名解析器,顾名思义,他只是解释http://www.baidu.com这一部分,而涉及到RFC1738字符集的大部分是后面的参数部分。

当我们在地址栏输入字符串的时候,不论你用的是什么字符集最后都会转化为使用RFC1738字符集编码的URL地址。

我们可以把RFC1738字符集设想成类似于ASCII的字符集,是通用的,任何字符集都支持的。

我看到过国际组织关于这方面的文档,加上了一些个人的理解,不对之处大家讨论。
参考技术A http://technet.microsoft.com/zh-cn/library/cc785769(WS.10).aspx
并不是所有的DNS都支持utf-8

以上是关于URL用啥编码传输的主要内容,如果未能解决你的问题,请参考以下文章

后端传输数据的编码格式(contentType)

后端传输数据的编码格式(contentType)

记事本怎么知道用啥编码解释txt文件?

前后端传输数据的编码格式(contentType)

前后端传输数据的编码格式(contentType)

mysql应该用啥编码格式储存在数据库里呢?