爬虫基础
一、HHTP基本原理
1.URL和URI
URL:统一资源定位符
URI:统一资源标志符
URN:统一资源名称,用于标记资源
URN + URL= URI
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获取
关闭浏览器并不会导致会话被删除,浏览器并不会通知服务器他要关闭。
4.代理
# 作用 突破自身IP访问限制 提高访问速度,代理服务器通常都设置了一个较大的硬盘缓冲区 隐藏真实IP 访问一些单位或团体内部资源 # 代理分类 根据协议 FTP代理、HTTP代理、SSL\TLS代理、SOCKS代理 根据匿名程度 高度匿名代理:将数据原封不动的转发,隐藏真实客户端 普通匿名代理:会改动数据包,服务器可能会发现 透明代理:会改动数据包,并且告诉服务器的真实IP,作用:使用缓存提高速度,内容过滤提高安全 间谍代理:组织或者个人创建用于记录用户传输的数据,然后进行研究,监控的代理服务器。

浙公网安备 33010602011771号