最近在试着学一些和爬虫有关的基础内容,总结至此
一、常见的请求Method
在Http协议中,定义了以下8种常见的请求方法:
序号 | 方法 | 描述 |
---|---|---|
1 | GET | 请求指定的页面信息,并返回页面主体 |
2 | HEAD | 类似于GET,只不过返回的响应中没有具体的内容,用于获取报头 |
3 | POST | 向指定资源提交数据进行处理请求(例如提交表单或上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立或已有资源的修改 |
4 | PUT | 从客户端向服务器传送的数据取代指定的文档的内容 |
5 | DELETE | 请求服务器删除指定的页面 |
6 | CONNECT | HTTP协议中,预留给能够将连接改为管道方式的代理服务器 |
7 | OPTIONS | 允许客户端查看服务器的性能 |
8 | TRACE | 回显服务器收到的请求,主要用于测试或诊断 |
二、常见的请求头参数
在http协议中,向服务器发送一个请求,数据分为三部分:第一个是把数据放在URL中,第二个是把数据放在body中(post请求中),第三个是把数据放在head中
- 1.User-Agent:浏览器名称。请求一个网页的时候,服务器通过这个参数就可以知道这个请求是由哪种浏览器发送的。
- 2.Referer:表明当前这个请求是从哪个URL过来的。<这个可以用来做反爬虫技术:如果不是从指定页面过来的,就不作相关的响应>
- 3.Cookie:http协议是无状态的,于是用Cookie来做标识。及如果一个人分别发送两次请求,服务器通过查看Cookie来判断是否是同一个人发送的。<一般用于登陆后才能访问的网站>
三、常见的响应状态码
序号 | 状态码 | 描述 |
---|---|---|
1 | 200 | 请求正常,服务器正常的返回数据 |
2 | 301 | 永久重定向。比如一个网址已经被永久修改,访问原网址时出现的状态码 |
3 | 302 | 临时重定向。比如在访问一个需要登陆的页面的时候,而此时没有登录,那么就会重定向到登录页面 |
4 | 400 | 请求的URL在服务器上找不到(通常为输入了错误的URL) |
5 | 403 | 服务器拒绝访问,权限不够 |
6 | 500 | 服务器内部错误。可能是服务器出现bug了 |
四、零碎知识点
- http协议的服务器端口号为80,https协议的服务器端口号为443
即http://abc.com:80
等价于abc.com
,https://...abcd.com:443
等价于abcd.com
- URL就是我们平时所说的网址,通常由6部分构成
scheme://host:port/path/?query-string=xxx#anchor
序号 | 名称 | 描述 |
---|---|---|
1 | scheme | 代表的是访问的协议,一般为http或https或ftp |
2 | host | 主机名,域名 |
3 | port | 端口号,如http默认port为80 |
4 | path | 查找路径。如www.jianshu.com/trending/now ,后面的trending/now 就是path |
5 | query-string | 查询字符串,如www.baidu.com/s?wd=python ,后面的wd=python 就是查询字符串 |
6 | anchor | 锚点,前端用来做定位的。相当于导航的目录 |