- OSI 是一个用于网络通信的参考模型,它将网络通信过程分为七个层次,每个层次负责不同的功能和任务。以下是OSI模型的七层及其对应的关键协议:
物理层:负责传输原始比特流,处理物理连接、电压和光信号等。关键协议:Ethernet、USB、RS-232等。
数据链路层:负责通过物理连接传输数据帧,并提供了错误检测和纠正的功能。关键协议:Ethernet、PPP、HDLC等。
网络层:负责在网络中选择最佳路径,进行分组传输和路由选择。关键协议:IP、ICMP、ARP等。
传输层:负责提供端到端的可靠传输,并进行分段和重组。关键协议:TCP、UDP等。
会话层:负责建立、管理和终止会话连接。关键协议:SSH、RPC等。
表示层:负责数据格式的转换、加密和解密,以确保不同系统之间的数据可以正确解释。关键协议:JPEG、ASCII、TLS等。
应用层:负责提供特定的网络应用服务,如电子邮件、文件传输和网页浏览等。关键协议:HTTP、FTP、SMTP等。
- 字符串中支持的数据类型:
字符串(String):可以存储任意类型的数据,如整数、浮点数、字符串等。
列表(List):有序的字符串列表,可以进行插入、删除、修改等操作。
哈希(Hash):类似于关联数组,存储了键值对的集合。
集合(Set):无序的字符串集合,支持对集合进行添加、删除、求交集、求并集等操作。 - restful api设计中的幂等性操作
GET:获取资源的操作是幂等的,多次请求同一个资源,返回的结果应该是一致的。
DELETE:删除资源的操作是幂等的,多次请求同一个资源的删除操作,最终结果都是资源不存在。
PUT:更新资源的操作是幂等的,多次请求同一个资源的更新操作,最终结果都是资源被更新为最后一次请求的内容。 - python中的序列化和反序列化用到了哪个内置库
在Python中,序列化和反序列化通常使用内置的pickle库。
pickle库提供了dump()和dumps()函数用于将Python对象序列化为字节流,以及load()和loads()函数用于从字节流反序列化为Python对象。