-
请求方法
(1)GET和POST请求方法有如下区别:
-
GET请求中的参数包含在URL里面,数据可以在URL中看到。而POST请求的URl不会包含这些数据,数据都是通过表单形式传输的,会包含在请求体中;
-
GET请求提交的数据最多只有1024字节,而POST请求的没有限制
(2)请求的常见参数:
- Cookie:也常用复数形式Cookies,这是网站为了辨别用户进行会话跟踪而存储在用户本地的数据,它的主要功能是维持当前访问会话。例如,我们输入用户名和密码成功登录某个网站后,服务器会用会话保存登录状态信息,后面我们每次刷新或请求该站点的其他页面时,会发现都是登录状态,这就是Cookies的功劳。Cookies里有信息标识了我们所对应的服务器的会话,每次浏览器在请求该站点的页面时,都会在请求头中加上Cookies并将其发送给服务器,服务器通过Cookies识别出是我们自己,并且查出当前状态是登录状态,所以返回结果就是登录之后才能看到的网页内容;
- Referer:此内容用来标识这个请求是从哪个页面发过来的,服务器可以拿到这一信息并做出相应的处理,如做来源统计、防盗链处理等;
- User-Agent:简称UA,它是一个特殊的字符串头,可以使服务器识别客户使用的操作系统及版本、浏览器及版本等信息。在做爬虫时加上此信息,可以伪装为浏览器;如果不加,很可能会被识别出为爬虫;
- Content-Type:也叫互联网媒体类型(Internet Media Type)或者MIME类型,在HTTP协议消息头中,它用来表示具体请求中的媒体类型信息。例如,text/html代表HTML格式,image/gif代表GIF图片,application/json代表JSON类型,更多对应关系可以查看此对照表:http://tool.oschina.net/commons
-
响应
(1)响应头:包含了服务器对请求的应答信息,如Content-Type、Server、Set-Cookie等。简要说明一些常用头信息:
- Date:标识响应产生的时间
- Last-Modified:指定资源的最后修改时间
- Content-Encoding:指定响应内容的编码
- Server:包含服务器的信息,如名称、版本号等
- Content-Type:文档类型,指定返回的数据类型是什么,如text/html代表返回HTML文档,application/x-javascript代表返回JavaScript文件,image/gif代表返回图片
- Set-Cookie:设置Cookies。响应头中的Set-Cookie告诉浏览器需要将此内容放在Cookies中,下次请求携带Cookies请求
- Expires:指定响应的过期时间,可以使代理服务器或浏览器将加载的内容更新到缓存中,如果再次访问时,就可以直接从缓存中加载,降低服务器负载,缩短加载时间
(2)响应头(内容是最重要的),响应的正文数据都在响应体中,比如:
- 请求网页时,它的响应体就是网页的HTML代码
- 请求一张图片时,它的响应体就是图片的二进制数据