对“有点尴尬诶!该页无法显示”情况的一个说明

最近发现网站出现不少 404 的访问,看了一下是对 url 错误二次编码造成的。

如果出现 404 ,该页无法显示的情况,您的浏览器可能对 url 进行了错误的二次编码(或者是其它的转发环节),‘%’被编码成了 ‘%25’。

% 的 ASCII 码 正好是 25(十六进制),%25 就是 % 本身的转义表示,但它是不需要再转义的。

正确形式://xiaogd.net/%XX%XX…
错误形式://xiaogd.net/%25XX%25XX…

错误形式中,% 被二次转义,变成了 %25,导致了 404 错误。

在后台的 access_log 中,找到这些带有 %25 的错误 url,查看其浏览器用户代理 userAgent 的值多为类似以下:

“Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_4 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13G35 QQ/6.5.3.410 V1_IPH_SQ_6.5.3_1_APP_A Pixel/750 Core/UIWebView NetType/2G Mem/117″

关键词:iPhone,AppleWebKit,QQ,UIWebView

估计为 iphone qq 浏览器内核的 bug。我已在 404 页面添加相应说明。(sorry for that,and don’t blame me~)

如果您出现无法访问的情况,欢迎留言告诉我具体的情况,谢谢!(不过如果你用手机访问,应该是不会有留言框出现~~)