(部分内容参考菜鸟教程) https://www.runoob.com/http/http-intro.html
一:HTTP与HTTPS简介
HTTP 协议是(超文本传输协议)服务器传输超文本到本地浏览器的传送协议。
HTTP 是一个基于 TCP/IP 通信协议来传递数据(HTML 文件、图片文件、查询结果等)。
HTTPS 协议是(超文本传输安全协议)的缩写,是一种通过计算机网络进行安全通信的传输协议。
HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包,HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换资料的隐私与完整性。
HTTP 的 URL 是由 http:// 起始与默认使用端口 80,而 HTTPS 的 URL 则是由 https:// 起始与默认使用端口443。
二:HTTP和HTTPS的工作原理
用户通过url 向HTTP服务器发送请求,服务器收到请求后向客户返回请求的内容。
http的三个特点
①:无连接,意思就是限制每次连接只处理一个请求,当收到客户的应答后,自动立即断开,主要的作用是为了节省时间。
②:媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送,客户端以及服务器指定使用适合的 MIME-type 内容类型。
③:HTTP 是无状态:HTTP 协议是无状态协议,无状态是指协议对于事务处理没有记忆能力,缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大,另一方面,在服务器不需要先前信息时它的应答就较快。
HTTPS 作用
HTTPS 的主要作用是在不安全的网络上创建一个安全信道,并可在使用适当的加密包和服务器证书可被验证且可被信任时,对窃听和中间人攻击提供合理的防护。
被访问的网站提供了一个有效的证书,也就是说它是一个由操作系统信任的证书颁发机构签发的(大部分浏览器会对无效的证书发出警告);
此协议的加密层(SSL/TLS)能够有效地提供认证和高强度的加密。
Google Chrome、Internet Explorer 和 Firefox 等浏览器在网站含有由加密和未加密内容组成的混合内容时,会发出警告。
虽然加密啦,不过通后续小编会写到抓包工具依旧可以解码https请求,后面APP数据采集会讲到。
http与https 的区别
http:分布式、协作式和超媒体信息系统的应用层协议.
https:HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
(这是两者主要的区别,还有其他的比如端口等。。。)
感兴趣的同学可以看看原文:https://www.runoob.com/w3cnote/http-vs-https.html
http 的消息结构
HTTP请求方式
有多种请求方式,但是数据采集中涉及到最多的也就是get(请求数据),和post(提交数据)请求。
HTTP的请求头信息
这里先不做过多的解释,后面再分析网页时会挨个说明,了解的同学可以看看菜鸟教程https://www.runoob.com/http/http-header-fields.html
HTTP状态码
200 - 请求成功
404 - 请求的资源(网页等)不存在
500 - 内部服务器错误
301 - 资源(网页等)被永久转移到其它URL
以上经常遇到的。
HTTP content-type
在浏览器开发者模式中可以在headers中查看到content-type所对应的值,如:utf-8等。。。
在后续采集信息的时候,有的信息获取下来有乱码,我们就可以根据网页中的数据类型,来调试代码。
下一章urllib