七层协议,HTTP和HTTPS
OSI七层协议的目的:
实现不同的系统互联之间的数据通讯,实现数据的传输。
七层协议:
应用层 表示层 会话程 传输层 网络层 数据链路层 物理层
应用层:
- 网络服务与最终用户的一个接口。
- 协议有:HTTP HTTPS FTP DNS ......
表示层:
- 主要功能是定义数据格式及加密即对上层数据或信息进行变换以 保证一个主机应用层信息可以被另一个主机的应用程序理解,并 按照一定的格式传送给会话层
会话层:
- 建立、管理、终止会话。(在五层模型里面已经合并到了应用层)
- 对应主机进程,指本地主机与远程主机正在进行的会话
传输层:
- 定义传输数据的协议端口号,以及流控和差错校验。
- TCP/UDP
TCP:网络传输协议,面向连接的,长连接,传输的是数据流
,确保数据的安全性和完整性,但是数据传输的效率低
UDP:网络传输协议,是非面向连接的,短连接,传输的是数据包,
传输数据是不安全的,可能会造成数据的丢失,传输速度非常快
网路层:
- 进行逻辑地址寻址,实现不同网络之间的路径选择。
数据链路层:
- 建立逻辑连接、进行硬件地址寻址、差错校验等功能。(由底层网络定义协议)网桥,交换机
物理层:
- 建立、维护、断开物理连接。
应用层协议
HTTP协议(HyperText Transfer Protocol)中文名叫超文本传输协议: 是用于从网络传送超文本数据到本地浏览器的传送协议
HTTPS协议(Hypertext Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版,在HTTP协议的基础上加入SSL层(HTTP+SSL) 。 SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全。
- HTTP的端口号为80, HTTPS的端口号为443
HTTPS的安全基础是SSL,因此通过它可以传输的内容都是经过SSL加密的,主要作用是:
建立一个安全有效的信息传送通道,保证数据传送的安全性
确定网站的真实性和有效性
https协议需要有一个证书(CA证书):由专门的证书机构颁发的
也可以自己生成,但是访问的时候会提示连接不安全
- 我们在爬取这类网站的时候,需要忽略证书,否则会报ssl错误
常见的请求方式:
get:只是用于从服务器获取数据,再url连接后面
可能会跟一些查询参数
post:向服务器端提交数据,数据会放在请求体中,一般用于添加或者修改数据
delete:用来删除数据
put:更新整个资源(用来做数据的更新)
patch:(更新资源)(局部数据的更新)
常见的请求状态码:
200:请求成功
3xx:重定向
301:永久重定向
302:临时重定向
4xx:客户端请求错误
400:请求错误,服务器无法解析
401:未授权,没有进行身份验证
403:服务器拒绝访问
404:访问的页面不存在
405:请求方式不允许
408:请求超时
5xx:服务端错误
500:服务端内部错误
501:服务器暂时不具备完成请求的功能
503:服务器不可用