这个对于对后面知识的理解十分重要。刚接触感觉很难记忆,不过多看几遍也就差不多了。后面的爬虫与之息息相关(我也算是在预习计算机网络了吧,没想到这次成了一个好学生)。
HTTP基本原理:
1.URL:
全称Uniform Resource Locator(英语很重要,英语很重要,英语很重要),
也就是统一资源定位符 。举个例子:http://github .com/favicon.ico,
其中包含了网络协议http,访问路径以及favicon.ico这个资源名称。
2.网络协议:
最常见的有http和https两种:
http(Hyper Text Transfer Protocol),超文本传输协议。
https(Hyper Text Transfer Protocol over Secure Socket Layer):大体意思
就是安全版的HTTP,原理上就是在http下加入了SSL层。(先知道怎么回事吧)
有的网站虽然数据虽然经过SSL加密,但是如果不被CA机构信任,浏览器仍会提示不安全。
3.HTTP请求过程
客户端(我们)发送请求,而服务器(要访问的网站)返回一个响应。(我们可以用Chrome浏览器的开发者模式下的NEtwork监听组件来查看这一过程)。
Name:请求名称
Status:响应状态码(200正常,404页面未找到,500服务器内部错误)
Type:文档类型
Initiator:请求源
Size:从服务器下载文件或请求资源大小。
Waterfall:可视化瀑布流,点击该条目有详细信息。
4.Waterfall部分:
General部分:
Request URL:要请求的URL
Request Method:要请求的方法,常用的包括post和get,比如在浏览器中输入url直接
回车,是get;而点击登陆按钮提交用户名和密码时,是post。
(两者区别在于,get请求中的参数都包含在url中,而post数据则通过表单传输,
并且post提交数据大小没有限制)
Status Code:状态码
Remote Address: 远程服务器地址和端口
Referer:判别策略(我也搞不懂,大概是用来指明当前流量的来源参考页)
Request Headers:
Accept: 指定客户端可以接受哪些方面的信息
Accept-Language:指定客户端可接受的语言类型
Accept-Encoding:指定客户端可接受的内容编码
Host:用于指定请求资源的主机IP号和端口号,内容为请求URL的原始服务器或
网关位置。(这个当时理解了一会,理解不了可以看一下这个链接
https://www.cnblogs.com/mybatis/p/9378859.html)
Cookies:服务器通过Cookie来识别我们,比如我们保存的登陆状态
Referer:标识该请求是从哪个页面发出,服务器拿来做来源统计和防盗链接处理。
User-Agent:包含用户的操作系统及版本、浏览器及版本信息。
Content-Type(Internet Media Type):用来表示具体请求中的媒体类型信息。如
text/html代表HTML格式,对照表在以下网址:
http://tool.oschina.net/commons
Response Headers:
Date:标识响应产生时间
Last-Modified:指定资源的最后修改时间
Content-Encoding:指定响应内容的编码
Server : 服务器信息,如名称、版本号等
Content-Type :文档类型,请求头中有介绍,这个是返回数据类型。
Set-Cookie: 设置Cookies。告诉浏览器将此内容放在Cookies中,方便下次携带。
Expires:指定响应过期时间。可使代理服务器或浏览器将加载的内容更新到缓存。
当然,以上只是大体内容,每个网页可能有所不同。到时候可能需要具体分析。
5.爬虫基本原理
大体步骤是: 获取网页(urllib,requests等)—提取信息(正则表达式,Xpath等)----保存数据-----自动化程序。
6.可以做什么
抓取网页源代码,抓取各种二进制数据(图片,视频,音频等),抓取浏览器中可以访问到的文件。等等。。。。。。
谁不是从小白开始?不过希望接下来的两个月,我能,嗯,黑起来。加油。。。