这个 HTTP 的面试题,竟然 80% 的面试者都不知道?| 极客时间

栏目: 后端 · 前端 · 发布时间: 4年前

内容简介:长达三个月的打磨,我们的当时想要出这个选题的时候,其实来源于和一位面试官的交谈。他说面试一年多,每当问起面试者对 HTTP 的了解时,经常出现这样的情形:面试官:请问你了解 HTTP 协议吗?

长达三个月的打磨,我们的 《透视 HTTP 协议》 专栏上线了。

当时想要出这个选题的时候,其实来源于和一位面试官的交谈。他说面试一年多,每当问起面试者对 HTTP 的了解时,经常出现这样的情形:

面试官:请问你了解 HTTP 协议吗?

前端开发:这不是应该后端清楚的吗?

后端开发:这不应该是前端知道的吗?

面试官:…

而这些开发着都有 3-5 年的开发经验,问到 HTTP 的时候却一脸茫然,可能大多数 程序员 都觉得 HTTP 太常见了,反而会觉得面试官为什么会问一些这么普遍的问题呢?

其实无论是前端还是后端,都需要了解 HTTP。前端接触相对较多的是在其上层的 HTTP 协议,包括承载请求的 HTTP 和 HTTPS 协议,需要对请求的全过程有一个深刻的认识。尤其是在如今大环境下,前端路由的控制越来越多,深刻理解 HTTP 的 Header、Body 等属性是很有好处的。

学好了 HTTP 对于 Web 开发和性能优化等都有用处。比如页面资源的缓存策略,如果对 HTTP 协议不够了解,就没法进行方案的制定或者优化。页面资源加载速度的优化,也同样离不开对 HTTP/2 的了解。

可能很多人的第一反应是:“HTTP 协议好简单的啦,还出个专栏,有这个必要吗?” “HTTP 不就是请求 / 响应、GET/POST、Header/Body 吗?网络上的资料一抓一大把,有什么问题搜一下就是了。”

所以我们做了一个小范围的“调查”,各个领域的都有,比如产品、开发、运维、测试、前端、后端、手机端……想看看他们有什么意见。

出乎意料,他们无一例外都对这个“HTTP 专栏”有很强烈的需求,想好好“补补课”,系统地学习了解 HTTP,这其中甚至还包括有七、八年(甚至更多)工作经验的老手。

这不禁让我们陷入了思考,为什么如此“简单”的协议却还有这么多的人想要学呢?

一个原因可能是 HTTP 协议“ 太常见 ”了,就像现实中的水和空气一样,如此重要却又如此普遍,普遍到我们几乎忽视了它的存在。真的很像那句俗语所说:“鱼总是最后看见水的”,但水对鱼的生存却又是至关重要。

因此我们开设了这门 《透视 HTTP 协议》 ,没错,就是“透视”。HTTP 只是表面上显得简单,而底层的运行机制、工作原理绝不简单,可以说是非常地复杂。只是我们平常总是“KPI 优先”,网上抓到一个解决方法用过就完事了,我们希望通过这门专栏带你深究里面的要点和细节。

我们请了长期从事 Web 后台服务器的研发工作的罗剑锋老师(网名 Chrono)来写这个专栏,他熟悉各种网络应用协议,专注于 C/C++、 Linux 、高性能编程等领域,毕业于北京理工大学计算机专业,是奇虎 360 技术专家,Nginx/OpenResty 开源项目贡献者。

同时,罗剑锋老师还是《C++11/14 高级编程》《Boost 程序库完全开发指南》《Nginx 完全开发指南》《OpenResty 完全开发指南》等畅销书的作者。

我们准备怎么设计这个专栏呢?

罗老师说了,他为这个专栏定了一个基调:“ 要有广度,但更要有深度 ”。目标是成为含金量最高的 HTTP 学习资料,新手可以由浅入深、系统学习,老手可以温故知新、查缺补漏,让你花最少的时间,用最少的精力,掌握最多、最全面、最系统的知识。

由于 HTTP 应用得非常广泛,几乎涉及到所有的领域,所以我们会在广度上从 HTTP 尽量向外扩展,不只讲协议本身,与它相关的 TCP/IP、DNS、SSL/TLS、Web Server 等都会讲到,而且会把它们打通串联在一起,形成知识链,让你知道它们之间是怎么联系、怎么运行的。

专栏文章的深度上老师也是下足了功夫,全部基于最新的 RFC 标准文档,再结合老师自己多年的实践体会,力求讲清讲透,能让你看了以后有豁然开朗的感觉。

陆游有诗:“ 纸上得来终觉浅,绝知此事要躬行 ”。学习网络协议最重要的就是实践,在专栏里还会教你用 Nginx 搭建一个“麻雀虽小,五脏俱全”的实验环境,让你与 HTTP 零距离接触。

它有一个最大的优点:自身就是一个完整的网络环境,即使不联网也能够在里面收发 HTTP 消息。

另外还精心设计了配套的测试用例,最小化应用场景,排除干扰因素,你可以在里面任意测试 HTTP 的各种特性,再配合 Wireshark 抓包,就能够理论结合实践,更好地掌握 HTTP 的知识。

每一讲的末尾,会给大家留几个思考题,你可以把它当作是求职时的面试官问题,尽量认真思考后再回答,这样能够把专栏的学习由“被动地听”,转变为“主动地学”,实现“学以致用”。

如果学习中遇到问题,也欢迎在专栏中跟我一对一的互动。

今年是万维网和 HTTP 诞生 30 周年,也是 HTTP/1.1 诞生 20 周年,借用莎翁《哈姆雷特》里的名句,“To Be a HTTP Hero!” , 戳此 >>> 订阅专栏或者试读 ,让我们在接下来的三个月里一起努力。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Coming of Age in Second Life

Coming of Age in Second Life

Tom Boellstorff / Princeton University Press / 2008-04-21 / USD 29.95

The gap between the virtual and the physical, and its effect on the ideas of personhood and relationships, is the most interesting aspect of Boellstorff's analysis... Boellstorff's portrayal of a virt......一起来看看 《Coming of Age in Second Life》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具