玩转接口测试 & 性能测试 之 必备基础知识:Web协议
- 2019-05-07 10:54:00
- IDO老徐 原創
- 13504
通过抓包的方式分析 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老徐
全网同名,个人IP公衆號
日更10年,每天 1 分钟、解决 1 个问题
職場、副業、輕創業、寫作、個人IP
公衆號、視頻號、小红书、知乎
長按/掃碼,關注IDO老徐
關注回複 401 送你「十年原創资料包」
聯系人: | IDO老徐 |
---|---|
Email: | 957863300@qq.com |
QQ: | 957863300 |
微信: | 957863300 |
微博: | isTester |
網址: | idoxu.com |
地址: | 中国 · 广东 · 深圳 |
來源備注:老徐博客