请求过程:
谷歌浏览器F12,请求www.baidu.com,如下:
Name:请求的名称,一般是URL的最后一部分
Status:响应状态码,判断发送的是否得到了响应
Type:请求的文档类型
Initiator:请求源
Size:从服务器请求的资源大小
Time:从请求到获取响应的时间
Waterfall:网络请求的可视化瀑布流
瀑布流如下:
General:
①Request URL:
②Request Method:请求的方法
③Status Code:响应状态码
④Remote Address:远程服务器的地址和端口
⑤Referee Policy:referee判别策略
请求:Request Method、Request URL、Request Headers、Request Body
1、Request Method:分GET和POST
在浏览器中输入URL回车,这便发起了一个GET请求,请求的参数会直接包含到URL中。如:www.baidu.com/s?wd=python
POST请求大多在表单提交时发起,其数据大多以表单的形式传输,不会体现在URL中。
另:GET提交的数据最多只有1024字节,而POST方式没有限制。
另外还有一些请求方法:
2、Request URL 就是URL
3、Request Headers:
Accept:请求报头域,用于指定客户端可接受哪些类型的信息。
Accept-Language 、 Accept-Encoding
Host:用于指定请求资源的主机IP和端口号,其内容为请求URL的原始服务器或网关的位置。
Cookie或Cookies
Referer:标识这个请求是从哪个页面发过来的,服务器可以拿到这一信息并做相应处理,如做来源统计,防盗链处理等。
User-Agent:简称UA,可以使服务器识别客户机使用的操作系统及版本,浏览器及版本。在做爬虫时加上此信息,可以伪装为浏览器。
Content-Type:也叫互联网媒体类型(Internet Media Type)或MIME类型。在HTTP协议消息头中,它用来表示具体请求中的媒体类型信息。如text/html代表HTML格式。
请求头Request Headers是请求的重要组成部分,在写爬虫时,大部分情况下都要设定请求头。
4、Request Body:
GET无请求体
填写了用户名和密码,提交时这些内容就会以表单的形式提交给服务器,此时需要注意Request Headers中指定Content-Type为application/x-www-form-urlencoded,只有设置这样才会以表单的形式提交。另外,也可以将Content-Type设置为application/jsom来提交JSON数据,或者设置为multipart/form-data来上传文件。
响应
响应,由服务端返回给客户端,可以分为:响应状态码( Response Status Code )、响应头
( Response Headers )和响应体( Response Body)
1、Response Status Code
响应码表示服务器的响应状态,如200为正常,404为页面未找到,500标示内部服务器错误。具体如下:
2、Resource Headers
响应头包含了服务器对请求的应答信息,常用如下:
date:响应产生的时间
last-modified:指定资源的最后修改时间
content-encoding:指定响应内容的编码
server:服务器的信息,如名称、版本号等
content-type:返回的数据类型
Set-cookie:设置cookies,下次请求带cookies请求
expires:响应的过期时间,可以使代理服务器或浏览器将加载的内容更新到缓存,再次访问可以直接加载
3、Resource Body
网页源代码,也就是需要解析的内容。