爬虫基础

一、HHTP基本原理

1.URL和URI

URL:统一资源定位符

URI:统一资源标志符

URN:统一资源名称,用于标记资源

URN + URL= URI
View Code

2.HTTP请求过程

对于一个网络请求:www.baidu.com

# 主体部分
Name:请求名称
Status:响应状态码
Ttpe:请求的文档类型
Initiator:请求源,用来标记请求是从哪个对象或进程发起的
Size:从服务器下载的文件和请求的资源大小
Time:发起请求到获取响应的时间
Waterfall:网络请求的可视化瀑布流

# General部分
Request URL:请求URL
Request Method:请求方法
Status Code:响应状态码
Remote Address:远程服务器的地址和端口
Referrer Policy:referer判别策略

# 请求方法
GET:提交的数据最多1024字节
POST:提交的数据没有限制,用于提交表单或上传数据,包含在请求体中
HEAD: 类似于GET,返回的响应中没有具体的内容,用于获取报头
CONNECT:用于跳板,让服务器代替客户端访问其他网页
OPTIONS:允许客户端查看服务器的性能
TRACE:回显服务器收到的请求,用于测试和诊断

# 请求头
Accept:请求报头域,用于指定客户端可接受哪些类型的信息
Accept-Language:指定客户端可接受的语言类型
Accept-Encoding:客户端可接受的编码
Host:用于指定请求资源的主机IP和端口号
Cooike:保持回话
Refer:标记请求的来源(从哪个页面而来)
User-Agent:用户字符串,记录用户使用的操作系统,浏览器等
Content-Type:互联网媒体类型,表示具体请求中的媒体类型信息

# 请求体
Content-type 和 post提交数据方式的关系
application/x-www-from-urlencoded   表单数据
multipart/from-data   表单文件上传
application/json 序列化,json数据
text/xml   XML数据

# 响应
1.响应状态码
2.响应头
    Date:标志响应产生时间
    Server:服务器信息
    Content-Type:返回的数据类型
    Content-Encoding:响应内容的编码
    Expires:指定响应的过期时间,用于缓存      
    Last-Modifid:指定资源的最后修改时间      
3.响应体

3.无状态HTTP

1.会话:用于存储特点用户会话所需的属性和配置信息。

当客户端第一次请求服务器时,服务器会返回一个请求头中带有set-cooike字段的响应给客户端,客户端浏览器会保存。当下一次请求该网站时,浏览器会把次cooike放到请求头一起提交给服务器,cooike携带回话ID信息,服务器检查并找到对应的会话。
会话维持
Name:名称
Value:值,如果值为unicode则需要为字符编码,如果为二进制,需要使用BASE64编码
Domain:阔以访问该Cooike的域名
MAX Age:失效时间,单位为秒,如果为正数,在MAX Age后失效,如果为负数,则关闭浏览器失效
Path:cookie的使用路径,如果设置为/PATH/,则使用路径为/path/的页面阔以访问,如果为/,则本域名下所有页面都能访问
Size:cookie的大小
Secure:该Cookie是否仅被使用安全协议传输
HHTP字段:如果为True,则只有HTTP头中会带有Cookie的信息,而不能通过document.dookie获取
Cooike结构

关闭浏览器并不会导致会话被删除,浏览器并不会通知服务器他要关闭。

4.代理

# 作用
突破自身IP访问限制
提高访问速度,代理服务器通常都设置了一个较大的硬盘缓冲区
隐藏真实IP
访问一些单位或团体内部资源


# 代理分类
根据协议
FTP代理、HTTP代理、SSL\TLS代理、SOCKS代理

根据匿名程度
高度匿名代理:将数据原封不动的转发,隐藏真实客户端
普通匿名代理:会改动数据包,服务器可能会发现
透明代理:会改动数据包,并且告诉服务器的真实IP,作用:使用缓存提高速度,内容过滤提高安全
间谍代理:组织或者个人创建用于记录用户传输的数据,然后进行研究,监控的代理服务器。

 

posted @ 2020-04-28 17:46  风中琉璃  阅读(245)  评论(0)    收藏  举报