
1.1
HTTP请求
所有HTTP消息(请求与响应)中都包含一个或几个单行显示的消息头(header),然后是一个强制空白行,最后是消息主体(可选)。如何查看HTTP请求呢?其实只要我们打开一个网页,就会自动向服务器发送一个HTTP请求,然后服务器返回一个回复,这就是我们看到的网站内容。下面演示一下如何获取一个网站HTTP请求,在学习Web信息收集之前,必须知道HTTP协议,因为Web信息收集大部分都是通过HTTP协议来进行的。
关于HTTP请求与响应,下面使用Firefox火狐浏览器给大家进行演示。首先给大家介绍一下如何下载和安装火狐浏览器。百度搜索“Firefox download”,然后根据提示进行下载即可,如图1.1所示。
下载时需要注意,要选择好相应的操作系统和版本,如图1.2所示。

图1.1 百度搜索火狐浏览器

图1.2 下载火狐浏览器
打开火狐浏览器,单击鼠标右键打开菜单栏,然后选择【检查元素】进行下一步操作,如图1.3所示。

图1.3 打开菜单栏
选择【网络】选项后,对网站进行刷新操作,此时可以发现有大量的网址出现,如图1.4所示。

图1.4 选择【网络】选项
接着选择向上翻,选择其中一个请求项内容如图1.5所示,里面包含消息头等相关内容。下面将对消息头内容项一个一个进行说明。如图1.5所示,左边部分是请求HTTP协议,右边是服务器响应。这就是一个典型的HTTP请求。

图1.5 HTTP请求
如下面这段代码所示,每个HTTP请求的第一行都由3个以空格间隔的项目组成。

那么如何看到HTTP请求呢?其实通过工具我们可以发现HTTP头请求。HTTP可以随意更改,只要有需求,我们就可以随意更改,以下为HTTP请示头解释。
注意,text/html、application/xhtml+xml和application/xml都是MIME类型,也可以称为媒体类型和内容类型。斜杠“/”前面的是type(类型),斜杠“/”后面的是subtype(子类型);type指定大的范围,subtype是type中范围更明确的类型,即大类中的小类。

Accept-Language:表示浏览器所支持的语言类型。zh-cn表示简体中文;zh表示中文。
q是权重系数,范围0≤q≤1。q值越大,请求越倾向于获得其“;”之前的类型表示的内容;若没有指定q值,则默认为1,若被赋值为0,则用于提醒服务器哪些是浏览器不接受的内容类型。
User-Agent消息头:提供与浏览器或其他生成请求的客户端软件有关的信息。
注意
由于历史原因,大多数浏览器中都包含Mozilla前缀。这是因为最初占支配地位的Netscape浏览器使用了User-Agent字符串,而其他浏览器也希望让Web站点相信它们与这种标准兼容。与计算领域历史上的许多怪异现象一样,这种现象变得很普遍,即使是当前版本的Internet Explorer也保留了这一做法,示例的请求即由Internet Explorer提出。