HTTP 可以说是互联网的基石,我们浏览的网页、刷的视频、玩的游戏,都离不开 HTTP 协议,而且热门的 Nginx、Apache、gRPC 等服务背后的技术也是由 HTTP 协议支撑的,可以说 HTTP 既常见又重要。
就前段时间,我和一位面试官交流心得,他说面试一年多,每当问起候选人对 HTTP 的理解,却经常出现这样的情形:
面试官:请问你了解 HTTP 协议吗?
前端开发:这不是应该后端清楚的吗?
后端开发:这不应该是前端知道的吗?
面试官:。。。。。。
其实无论是前端还是后端,都需要了解 HTTP。前端接触较多的是在其上层的 HTTP 协议,包括承载请求的 HTTP 和 HTTPS 协议,而随着前端路由的控制越来越多,深刻理解 HTTP 的 Header、Body 等属性是很有好处的。
学好了 HTTP 对于 Web 开发和性能优化等都有用处。比如页面资源的缓存策略,如果对 HTTP 协议不够了解,就没法进行方案的制定或者优化。页面资源加载速度的优化,也同样离不开对 HTTP/2 的了解。
就这么说吧,如果你不懂 HTTP 协议,就相当于是个只有“半桶水”的程序员。
话虽如此,不少人觉得:“HTTP 协议好简单的啦,还用系统学吗?” “HTTP 不就是请求 / 响应、GET/POST、Header/Body 吗?网络上的资料一抓一大把,有什么问题搜一下就是了。”
但事实是,就因为 HTTP 太常见、太普遍了,很多工作 7、8 年的老手,也未必搞得清楚,当年我也是在工作上踩了大坑,所以才下定决心“死磕” HTTP。
由于 HTTP 应用得非常广泛,几乎涉及到所有的领域。所以罗剑锋的内容不只讲协议本身,与它相关的 TCP/IP、DNS、SSL/TLS、Web Server 等都会讲到,而且会把它们打通串联在一起,形成知识链,让你知道它们之间是怎么联系、怎么运行的。
编辑:jq
全部0条评论
快来发表一下你的评论吧 !