架构师速成7.2-为什么要学习协议、规范

我们在开发过程中会碰到很多协议,标准规范类的东西,比如http协议,比如 javaEE标准等等。有人觉得这些很枯燥,根本不需要去关注,但是恰恰相反,这个很重要。

  • 协议和标准规范,是一个时代人类智慧的结晶,汇聚了很多牛人和专家的智慧。你需要从中吸取他们设计的理念,对程序的设计也会有很大的帮助。
  • 理解协议对于你的故障排查很有帮助,比如一个http请求出错,如果了解协议很容易判断,是浏览器端还是服务器端问题,可以很快定位问题。
  • 理解协议可以自己开发对应的实现,帮助你快速建立用户群,比如你可以开发开放的http协议服务,鉴权遵循oauth2标准。这样无需提供额外的说明,大部分用户都可以很快接入。
  • 底层协议和规范是最基础的,你理解这些之后,有新技术出现,你会发现似曾相识。
  • 可以举一反三,实现自己的开放协议,互联网时代,
    • 1等公民是建立规范和协议的人
    • 2等公民是提供服务的人
    • 3等公民是开发软件的人
    • 4等公民是卖硬件的人

顺便提供一个web网站快速定位故障的秘诀,如果出现了问题,没有很明显的提示帮助你快速定位,可以按照下面步骤快速确定问题:

  1. 确定是前端还是后端的问题
    1. 使用chrome浏览器等直接可以显示http请求和返回结果的浏览器,如果没有那就用fiddler这个抓包工具
    2. 查看请求发出信息,确定你希望发出的数据都在请求中发出,如果跟预期不一样,那就需要排查前端。
    3. 查看respone结果的数据,看是否有返回或者返回的数据,是否有错误码。一般情况下,请求按照预期发出,基本都是后端问题了。
  2. 定位前端问题,根据请求基本就可以确定,无非就是:
    1. form属性值错误
    2. url错误
    3. 请求方式错误等等
  3. 定位后端问题,直接debug就可以了
    1. 传人参数解析是否正确
    2. 处理逻辑是否正确
    3. 请求转向是否符合预期

这个我一般不告诉别人。

你可能感兴趣的:(架构师速成7.2-为什么要学习协议、规范)