说一下从 url 输入到返回请求的过程
问题: 从浏览器地址栏输入url到请求返回发生了什么
回答
:首先会进行 url 解析,根据 dns 系统进行 ip 查找
1. 先说为什么url要解析(也就是编码)
A:
回答
:因为网络标准规定了URL只能是字母和数字,还有一些其它特殊符号,比较常见的就是不包括%
和“”
,而且如果不转义会出现歧义,比如http:www.baidu.com?key=value,假如我的key本身就包括等于=符号,比如ke=y=value,就会出现歧义,你不知道=到底是连接key和value的符号,还是说本身key里面就有=。
B:大佬接着毒打我说,那url编码的规则是什么呢?
A:我说utf-8
B:大佬接着穷追不舍,为啥是utf-8呢,所有浏览器都是这样吗?中文的话用gb2312编码吗,还有就是万一浏览器不是你说的这样统一用utf-8,你怎么保证都是utf-8的编码?
A:我支支吾吾的说,我了解的大概是这样,不太清楚, 应该和html本身的编码格式有关,然后怎么保证utf-8的编码,我觉得可以用encodeURIComponent
B:大佬说encodeURIComponent比en