玩转接口测试 & 性能测试 之 必备基础知识:Web协议

2019-05-07 10:54:00
IDO老徐
原创
10866


通过抓包的方式分析 Web 网络协议,是大部分工程师应该掌握的技能。不光是研发和设计的时候对协议层知根知底,系统出了问题,还需要去细细分析各种协议和报文信息,查找引发问题的原因。不过我发现,很多技术人在实际工作中都会遇到类似问题:


1、AJAX 跨域访问时总被浏览器的同源策略阻止,其背后的原理及符合其设计思想的解决方案是什么?
2、缓存可以提升性能,但什么样的 HTTP 消息才会被浏览器或者代理服务器 缓存呢?
3、抓包时收到 4xx 或者 5xx HTTP响应码,这意味着服务器端发生了什么?
4、当我们维护 HTTPS 连接时,如果要优化 TLS/SSL 的卸载性能,应该从哪里入手?
5、定位问题时,发现本地的 TCP 连接状态中出现了 FIN_WAIT、CLOSE_WAIT 或者 TIME_WAIT,都是什么原因引起的?应该如何解决?
6、想要提升 TCP 连接的传输速度,可服务器上相关的系统参数多达数十个,究竟该怎么调整?
7、时下逐渐普及的 IPv6,在报文上到底与 IPv4 协议有何差别?


你会发现,这些问题其实都和 Web 协议密切相关。我常常听到身边人抱怨“学不动了”,之所以会这样,大多是因为没有掌握好互联网体系中的底层知识。这些知识点相对稳定,而其他时刻变化的知识点是构建在这些知识点之上的。一旦掌握好,就可以长久使用,并且保持快速学习的能力。


Web 协议就是其中非常重要的一个模块。虽然它常常要兼容 internet 中非常古老或者有着突破性创新的浏览器或者服务器,从而也在时刻进化,但只要我们抓住它设计时背后的指导原则,系统地将 Web 协议转化为我们头脑中的结构体知识,就可以对我们学习前后端开发框架、面向连接的编程语言、各种分布式组件、架构设计、微服务编程等都起到事半功倍的效果。


可以说,无论你是前后端工程师、测试工程师,还是运维测试,如果想面试更高的职位,或者要站在更高的角度去理解技术业务架构,并能在问题出现时快速、高效地解决问题,Web 协议一定是你绕不过去的一道坎。熟练掌握各种常用 Web 协议,可以帮你在工作中轻松应对各种网络难题。


1、如果你是前端工程师,可以快速定位问题的根源在后端还是前端,对网页性能的提升会有更多的思路。

2、如果你是后端工程师,可以更清晰地理解Web容器的工作原理,在网络层面快速缩小问题范围。

3、如果你是运维工程师,可以更明确地规划硬件及网络资源,对于故障节点的恢复也会有更系统的解决方案。

4、如果你是测试工程师可以对压测工具的原理有更深入的理解,对自动化测试原理有更深入的了解,对RPC测试用例的构造也会更全面。

5、如果你是架构师,将会对分布式系统下的高可用架构设计和性能优化等问题有更加体系化的认识。


可是,想要真正掌握 Web 协议,并没有想象中那么容易。我发现大部分人在学习时,都卡在下面这些问题上:


1、Web协议的体系庞大,大多概念过于抽象,导致初学者很容易从入门到放弃。
2、很难快速上手,就算弄懂了复杂的概念,工作中一遇到复杂问题,还是一头雾水,不知道如何下手。
3、网上有很多文章可以参考,但要不就是知识点零散,要不就是解释得蜻蜓点水,无法深入到底层。
4、市面上相关的课程很少,要不就是仅仅讲述某一个协议,要不就是只从理论出发来讲解,实战性不强。


... 省略1000字 ...


原创文章,拒绝转载 。

完整内容 -> 见原文 。

文章底部-联系
注:如果看完文章,还有不清晰的,可联系 IDO老徐 ,描述你遇到的具体问题,会解答( 微信 957863300 ) 
栏目(点每个栏目看文章)

1、长线能力提升:八年合伙人副业·个人IP实验室

2、测试硬技能:LinuxSQLGit测试工具Jenkins

3、测试软技能:简历面试管理职业发展

4、副业:视频号公众号知乎社群私域小报童专栏  /  免费写作社群  /  小红书资料  /  年度陪伴群

本站申明

1. 所有文章,均为IDO老徐原创(免费学习,欢迎收藏、转发),博客地址 isTester.com

2. 顶部菜单,按栏目查询,可快速检索你需要的所有文章 。看完文章还有不明白的,微信联系 IDO老徐

3. 欢迎关注 公号、进 微信群、进社群「软件测试圈

写作星球new

成长,写作,副业,赚钱社群

写作·成长·副业赚钱,万人免费社群

365 * 24 随时向 IDO老徐 免费提问

完整的 14 个社群入口,点这里


老徐陪你副业避坑

老徐陪你副业避坑

100 个实战小项目,少亏钱,多赚钱

送《一人企业复利商业化》实体书(包邮)

365 * 24 随时向 IDO老徐 免费提问

微信 957863300


技术(硬技能)
个人IP(副业)
公众号-简尚


想了解更多 ?

所有原创软件测试文章都在这

有近10W 软件测试工程师关注

助力「软件测试从业者综合能力提升

关注后,回复 666 有惊喜

简尚公众号

长按/扫码  关注@简尚

我的个人微信 957863300


公众号-IDO老徐


IDO老徐

全网同名,个人IP公众号

日更10年,每天 1 分钟、解决 1 个问题

职场、副业、轻创业、写作、个人IP

公众号、视频号、小红书、知乎

简尚公众号

长按/扫码,关注IDO老徐

关注回复 401 送你一份资料包


联系老徐
联系人: IDO老徐
Email: 957863300@qq.com
QQ: 957863300
微信: 957863300
微博: isTester
网址: isTester.com
地址: 中国 · 广东 · 深圳
职场(软技能)
轻创业
个人微信
IDO老徐 个人微信