1、网络协议
2、文件传输
文件传输协议(FTP)、Unix-to-Unix复制协议(UUCP)、网页的超文本传输协议(HTTP)、(unix下的)远程文件复制指令rcp(以及更安全、更灵活的scp和rsync)。迄今为止,HTTP、FTP和scp/rsync还是非常流行的。
(1)FTP
FTP由已故的Joh Postel和Joyce Reynolds开发,于1985年10月发布,主要用于匿名下载公共文件,也可用于两台电脑之间传输文件。FTP要求输入用户名和密码,也允许匿名用户登录。匿名用户的用户名是“anonymous“,密码一般是用户的电子邮件地址。匿名用户功能有限制。FTP只使用TCP,不使用UDP。客户端和服务器都使用两个套接字来通讯:一个是控制和命令端口(21号端口);另一个是数据端口(有时是20号端口)。FTP有两种模式:主动和被动。只有在主动模式服务器才使用数据端口,有数据端口后,它”主动”连接客户端的数据端口。被动模式时,服务器只告诉客户端它的随机端口的号码,客户端必须主动建立数据连接。
(2)FTP和Python
导入ftplib模块,并实例化一个ftplib.FTP类对象。
ftplib.FTP类方法
login(),cwd(),dir(),pwd(),stor*(),retr*()和quit()。
3、网络新闻
usenet新闻系统 电子公告板
网络新闻传输协议(NNTP)NNTP只使用一个标准端口119来做通讯。
Python和NNTP
nntplib库和nntplib.NNTP类。
4、电子邮件
发送电子邮件 SMTP简单邮件传输协议
实现了SMTP的MTA(消息传输代理)有MS Exchange等。
SMTP是MTA之间用于消息交换的最常用的MTS(消息传输系统)
SMTP客户端–>SMTP服务器–>SMTP–>SMTP
Python和SMTP
smtplib模块和smtplib.SMTP类,只要一个端口25
邮件用户代理(MUA)
POP和IMAP
下载邮件的第一个协议叫邮局协议(POP) POP3
交互式邮件访问协议(IMAP) IMAP4rev1
poplib模块和poplib.POP3类