一、HTTP基础
1.1.URI和URL
URI的英文全称是Uniform Resource Identifier,中文的意思是“统一资源标识符”。
URL是URI的子集,也就是说,每个URL都是URI,但并不是所有的URI都是URL。
URI除了包括URL外,还是URN(Universal Resource Name,统一资源名称)。URN只命名资源而不指定如何获取资源。
1.2.超文本
超文本英文名字是hypertext。在Web应用中,超文本主要是指HTML代码。我们在浏览器中看到的内容就是浏览器解析超文本(HTML代码)后的输出结果。这些HTML代码由若干个节点组成,例如,用于显示图像的img节点,用于换行的p节点,用于显示表格的table节点。浏览器解析这些节点后,就形成了平时看到的页面,而页面的源代码(HTML代码)就可以称为超文本。
1.3.HTTP与HTTPS
任何一个URL的开头都指明了协议,协议是https,Web资源除了https,还有http。除了以这两个协议开头的URL,还有以ftp、sftp、smb等协议开头的URL。
协议就是指数据传输协议,也就是数据的传输格式(数据传输规范)。只要客户端(浏览器)和服务端都遵循这些规范,就可以正常传输数据。爬虫主要涉及的协议是HTTP和HTTPS。
HTTP的全称是Hyper Text Transfer Protocol,中文名是“超文本传输协议”。HTTP理论上可以传输任何类型的数据,包括超文本数据、普通的文本数据、二进制数据(如图像、视频文件等),不过对于爬虫来说,主要关注通过HTTP传输的超文本数据。HTTP是由万维网协会(World Wide Web Consortium,W3C)和Internet工作小组(Internet Engineering Task Force,IETF)共同合作制定的规范。
HTTPS的全称是Hyper Text Transfer Protocol over Secure Socket Layer,是安全的HTTP数据通道,也可以认为是HTTP的安全版本,即HTTP下加入SSL层,简称为HTTPS。通过HTTPS传输的数据都是加密的,而通过HTTP传输的数据都是明文。
HTTPS的安全基础是SSL,因此通过HTTPS传输的数据都是经过SSL加密的,主要有以下两种作用:
1)建立一个信息安全通道来保证数据传输的安全;
2)确认网站是安全和真是的。