你的位置:首页 > Java教程

[Java教程]《图解HTTP》读书笔记


  处于兴趣,最近在学习一个Java的网络爬虫框架webmagic,其实就是用一个程序来把下载任务自动化,比如你想下载一张图片很快,直接右键点击下载就可以了,但如果下载1000张就需要花些时间了。但计算机可以把这一系列步骤自动化,而你只需要制定规则就行了。折腾了几天好不容易入门了,兴冲冲地准备爬取知乎的页面,想把知乎上超过1000赞的回答内容下载下来。可程序刚启动,就收到来自知乎的服务器的信息:403 Forbidden error,拒绝了我的请求。在加入了爬虫QQ群向大家请教之后才明白,原来是需要把自己伪装成一个“用户”才可以骗过服务器,否则服务器默认地会拒绝类似的请求。

  这让我对网络协议开始产生了兴趣,我在浏览器输入地址回车访问页面的动作,本质上而言与电脑上一行命令的效果并没有太大的区别,服务器并不知道这些,它所知道的就是有来自湖南长沙的一个连接请求。原来服务器并不知道发过来的请求是来自真正的用户还是经过伪装的爬虫,正如那句名言“在网络上,没人知道坐在你对面的是人还是狗”。那么,从我按下回车的瞬间到知乎那赏心悦目的页面地展现在浏览器上,这背后到底发生了些什么?记得上计算机网络的时候也听过老师介绍TCP/IP协议的分层、路由器转发、传输延迟、中间人攻击等知识,然而现在已经全部还给老师了。刚好读到《图解HTTP》这本书,简单地介绍了协议分层、HTTP状态码、HTTP首部信息、WEB安全等概念,大部分都挺好理解,下面就把我总结的前七章的思维导图发上来,有兴趣的朋友可以下载来看。

 

看不清图片的点击这里下载

p.s. 首次提交webmagic的代码通过了,就是那个爬取知乎页面的程序,好兴奋 :)。