《图解HTTP》读后感精选10篇
《图解HTTP》是一本由【日】上野宣著作,人民邮电出版社出版的平装图书,本书定价:49.00元,页数:308,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助。
《图解HTTP》读后感(一):对新手友好
我们现在对网络触手可及,输入网址、RSS 订阅、网络错误码等等都是我们所熟悉的地方。配合着这些每天都能触及到的「现象」,这本书能够带给我的是「现象」背后的解释(或规则)。所以阅读中会发现自己时不时恍然大悟,某种程度来说,这本书就像儿童版的《十万个为什么》,仅仅二百多页文字和图画就能让人对 HTTP 协议有个大体上的理解。
前两章主要介绍了 HTTP 的成长历史和 HTTP 协议结构。
第三到六章主要介绍了 HTTP 的请求和响应的结构和规范,让我理解开发服务器时如何规范地返回响应信息,以及自己移动开发的客户端应该如何无误地发送请求。
第七到九章主要介绍了HTTP 协议之外的协议和几种用户身份认证的方法,这几章当历史书看了...
第十章简单介绍了 Web Server 的搭建背后的技术,能带给萌新一些相关的基础概念。
第十一章介绍了 Web 的攻击方式。这章给自己敲了警钟,网上的攻击种类层出不穷,因此开发后端的时候就要方方面面都顾及到,例如服务器的用户验证、API Server 的 JWP 规范、防范各种注入等等。安全是近年来十分热门的话题,有兴趣的可以关注下FREEBUF网站来关注安全方面的信息。
总而言之,这本书告诉我规范和安全的重要性,开发一个完全「准守规则」的服务器并不容易。最后,我认为这本书对新手十分友好,每本书应该有它的定位,而不是一味追求大而全,这本书值五星。
《图解HTTP》读后感(二):HTTP入门可读
作为一个学软件工程的工科男,由于兴趣原因接触到了网页爬虫,XSS攻击,SQL注入等领域,其中不可避免得用到了Firebug进行http抓包,也逐渐对HTTP有了模糊地印象。
本书详细介绍了HTTP的常用的知识,大部分内容以图文的方式展示,易于读者理解,避免了去啃厚厚的《HTTP权威指南》和RFC文档。同时作者逻辑清晰,没有介绍过于高深的知识,满足了读者对HTTP基础的需求。
果不其然,从事信息安全领域的作者在书的后半部分介绍了WEB安全地相关理念和技术,很好玩。
读完这本书我这个菜鸟收益颇丰。
阅读时间:3-5小时
《图解HTTP》读后感(三):HTTP入门最佳书籍
作者从Web的发展及网络基础逐渐延伸至HTTP协议本身的特点及需要掌握的知识,至书的终章还介绍了Web安全的知识点,在计算机技术书籍动辄几百上千页的情况下,本书仅通过200多页,展示出了HTTP协议的全貌,作为HTTP协议的入门书是完全可行的。
本书的另一个特点是亦可作为工具书,例如第四章,第六章分别列举了HTTP状态码和HTTP协议的首部字段,这些内容第一次阅读时一般难以全部记住,可在需要时进行翻阅。综合而得,本书的性价比还是极高的,值得一提的是,该书的译者也是一个有故事很厉害的人,详见扇贝访谈:全扇贝网打卡天数第一的奇男子Chain
《图解HTTP》读后感(四):HTTP协议入门级Guide
这本书其实完全够得上5星的水平。因为我个人的观点,把一本书写薄还好读并且覆盖主要的知识范围并不是一件容易的事情。但是这本书做到的,而且从对HTTP知识的覆盖程度到易读性都做得相当好。
在这本书之前,要想了解HTTP协议,除了各种计算机网络教科书以外,基本上就只能去看相应的RFC文档以及《HTTP权威指南》这本书。抛开枯燥无味的教科书不谈,RFC文档属于标准规范文档,这种材料用来作为入门或者介绍性的读物显然不是合适的选择,因为里面通篇的术语和规则介绍,比教科书来得更加乏味。《HTTP权威指南》也有类似的问题,但要好一些,但这本书很久没有更新了,虽然HTTP协议没有什么大的变化,但是一些对HTTP协议最新的增强和改进工作成果不见于这本书里面。
HTTP协议是一个比较复杂的协议。这个“复杂”并不是指协议本身的结构很复杂,而是指经过多年的发展,该协议包含了太多的针对各种情景解决方案。比如其中众多的Header,HTTP请求方法等等。这其中有相当一部分的内容比较冷门。对于入门来说,将这些冷门的知识纳入到书本中会对初学者造成过重的认知负担。
这本图解书籍只将基本的概念进行了介绍,并且是以图文并茂的形式来介绍各个概念。同时在介绍各部分的元素的时候抓住了较为常见的情况讲解。比如HTTP的Header真的是多不胜数,而且根据处理的情况不同,各种参数也五花八门,本书对这些内容作了一定的简化处理,只介绍了较为常见的一些。另外,对于HTTP协议的增强和改进工作成果,这本书也简单介绍了SPDY,WebSocket等基本知识,作为入门级的读物来说,这本书的内容新鲜的程度也够了。
所以本书的读者定位上应该是入门读者和初级简单Web应用开发人员。因为上手基本的Web开发并不需要了完全掌握HTTP协议的所有细节。
《图解HTTP》读后感(五):疏通你的网络知识
大概去年5月份的时候,从同事桌上看到这本书,随手一翻觉得里面的插图很有意思,留下了深刻的印象。这几天花了几个小时的时间看完之后,收获颇多。总得来说,这是一本偏基础的书,阅读起来没什么困难,对我而言,主要是理顺了一些之前模棱两可的概念。
TCP/IP协议族按层次分别是:应用层、传输层、网络层和数据链路层。层次化之后,设计也变得相对简单了。处于应用层上的应用可以只考虑分派给自己的任务,而不需要弄清对方在地球上哪个地方、对方的传输路线是怎样的、是否能确保传输送达等问题。简单来说就是职责单一化了,可以只关心自己应该关心的内容。
应用层:应用层决定了向用户提供应用服务时通信的活动。
TCP/IP协议族内预存了各类通用的应用服务。比如,FTP(File Transfer Protocol,文件传输协议)和DNS(Domain Name System,域名系统)服务就是其中两类。HTTP协议也处于该层。
传输层:传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。在传输层有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议)和UDP(User Data Protocol,用户数据报协议)。
网络层:网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线。
链路层:用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的作用范围之内。
经过作者的讲述后,对四层的职责,分别干了些什么是不是有了很明确的了解。反正经过这段文字之后,我是有种顿悟的感觉。
当输入一个网址后接着发生了什么?这段描述或许会给你一个清晰的认知流程:“利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则往应用层往上走。我们用HTTP举例来说明,首先作为发送端的客户端在应用层(HTTP协议)发出一个想看某个Web页面的HTTP请求。接着,为了传输方便,在传输层(TCP协议)把从应用层处收到的数据(HTTP请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。在网络层(IP协议),增加作为通信目的地的MAC地址后转发给链路层。这样一来,发往网络的通信请求就准备齐全了。接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层。当传输到应用层,才能算真正接收到由客户端发送过来的HTTP请求。发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去。 ”下面图示更能清晰明了说明问题:
https://github.com/LeeeYou/Img/blob/master/%E5%9B%BE%E8%A7%A3http/%E6%95%B2%E5%85%A5url%E5%90%8E%E7%9A%84%E6%B5%81%E7%A8%8B.jpg?raw=true
在HTTP协议中,状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误。数字中的第一位指定了响应类别,详细如下图所示:
https://github.com/LeeeYou/Img/blob/master/%E5%9B%BE%E8%A7%A3http/%E7%8A%B6%E6%80%81%E7%A0%81%E8%AF%B4%E6%98%8E.jpg?raw=true
HTTP首部字段大致分为四类:通用首部字段,请求首部字段,响应首部字段,实体首部字段。
https://github.com/LeeeYou/Img/blob/master/%E5%9B%BE%E8%A7%A3http/%E9%80%9A%E7%94%A8%E9%A6%96%E9%83%A8%E5%AD%97%E6%AE%B5.jpg?raw=true
https://github.com/LeeeYou/Img/blob/master/%E5%9B%BE%E8%A7%A3http/%E8%AF%B7%E6%B1%82%E9%A6%96%E9%83%A8%E5%AD%97%E6%AE%B5.jpg?raw=true
https://github.com/LeeeYou/Img/blob/master/%E5%9B%BE%E8%A7%A3http/%E5%93%8D%E5%BA%94%E9%A6%96%E9%83%A8%E5%AD%97%E6%AE%B5.jpg?raw=true
https://github.com/LeeeYou/Img/blob/master/%E5%9B%BE%E8%A7%A3http/%E5%AE%9E%E4%BD%93%E9%A6%96%E9%83%A8%E5%AD%97%E6%AE%B5.jpg?raw=true
在这些首部字段中,有很多值得关注。
例如no-cache字段,使用no-cache指令的目的是为了防止从缓存中返回过期的资源。客户端发送的请求中如果包含no-cache指令,则表示客户端将不会接收缓存过的响应。于是,“中间”的缓存服务器必须把客户端请求转发给源服务器。如果服务器返回的响应中包含no-cache指令,那么缓存服务器不能对资源进行缓存。源服务器以后也将不再对缓存服务器请求中提出的资源有效性进行确认,且禁止其对响应资源进行缓存操作。
例如首部字段If-Modified-Since,属附带条件之一,它会告知服务器若If-Modified-Since字段值早于资源的更新时间,则希望能处理该请求。而在指定If-Modified-Since字段值的日期时间之后,如果请求的资源都没有过更新,则返回状态码304 Not Modified的响应。If-Modified-Since用于确认代理或客户端拥有的本地资源的有效性。获取资源的更新日期时间,可通过确认首部字段Last-Modified来确定。
例如首部字段Expire,s会将资源失效的日期告知客户端。缓存服务器在接收到含有首部字段Expires的响应后,会以缓存来应答请求,在Expires字段值指定的时间之前,响应的副本会一直被保存。当超过指定的时间后,缓存服务器在请求发送过来时,会转向源服务器请求资源。源服务器不希望缓存服务器对资源缓存时,最好在Expires字段内写入与首部字段Date相同的时间值。但是,当首部字段Cache-Control有指定max-age指令时,比起首部字段Expires,会优先处理max-age指令。
总得来说,这本书的内容简单、阅读起来无障碍,主要用于疏通知识点,值得一阅。