前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >震惊!网页内容变成了天书!

震惊!网页内容变成了天书!

作者头像
用户5521279
发布2019-12-19 22:25:21
6880
发布2019-12-19 22:25:21
举报
文章被收录于专栏:搜狗测试

前言

小编前段时间遇到一个问题,使用浏览器打开某域名网页的小说阅读器,阅读器正文内容显示为乱码。 经排查定位发现,该问题是由于小说原网页改版后对原网页HTML内容解码失败引起的。 那么常见的网页相关编码基本逻辑及测试点都有哪些呢?

网页相关编码

常见的web网页编码的基本逻辑有:

1、URL编码;

2、HTML源码内容编码。

1、URL编码

URL 是统一资源定位器,是用来引导指向对应的网络资源的,狭义来说查询字符串并不是 URL 的一部分,URL 是由协议、域名、端口和 URI 组成的。URI 是统一资源标识符,是用来引导指向某站点的服务资源的。

代码语言:javascript
复制
URL=protocol+domain+port+URI

RFC 1738(Uniform Resource Locators (URL))规定 URL 只能包含英文字母、阿拉伯数字和某些标点符号,这要求在 URL 中使用非英文字符的话必须编码后使用。如果浏览器在编码URL和查询参数时使用的编码方式不一致,或者不同浏览器使用的URL编码机制不一致,就会导致无法正常解析。

2、HTML源码编码

当用浏览器打开某个URL网站查看网页内容时,之所以可以正常看到网页的内容,这一过程涉及到HTML网页源码的解码处理。

在解析HTML源码内容时,浏览器需要识别HTML源码对应的编码方式,从而根据此字符编码类型,解码对应的HTML内容,显示对应的文字,以保证不会显示乱码。

常见的HTML网页源码的编码方式有GBK、UTF-8、ISO8859-1,关于这三种编码方式的原理及规则介绍,在这里就不做赘述了,感兴趣的同学可以打开的链接了解https://www.crifan.com/files/doc/docbook/char_encoding/release/html/char_encoding.html

HTML源码编码

HTML源码编码类型的查看方式 1、response.header 在访问网页URL时,通过查看请求的response可以知晓其HTML源码的编码类型,具体查看response.headers中content-type的charset字段值。例如,通过fiddler看到某一网站的response,我们可以看出其编码类型为UTF-8。

如果headers中content-type无charset字段,只content-type:text/html,根据RFC2016的规定,认为采用的是默认的ISO-8859-1。 2、网页源代码 网页源代码中head的meta中会有charset的参数值,可以用来判断网页的编码类型。

HTML源码编码类型的测试 针对HTML源码内容的编码类型的测试,重点关注点是对不同的编码类型的网页,是否可以正常的解析其编码类型,并可以正确解码显示对应的HTML内容。

备注:在实际测试中发现,有的网页HTML中不同段落的charset字段值(编码类型)不一致,可能会导致浏览器解析编码类型时错误,影响网页内容的正常展示。

结语

作为APP端的软件测试人员,小编认为在提高测试能力的过程中,需要不断学习积累前端、客户端、后端等的常见基本概念及原理,如Android开发基本术语-webview、activity,https传输原理等。所谓知己知彼,百战不殆。 参考文章: 1.https://www.ibm.com/developerworks/cn/web/wa-lo-ecoding-response-problem/index.html; 2.https://www.crifan.com/summary_explain_what_is_html_charset_and_common_value_of_gb2312_gbk_utf_8_iso8859_1/; 3.https://juejin.im/post/5a6946846fb9a01ca267acd1;

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、URL编码
  • 2、HTML源码编码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档