套接字是常见的低级别的网络通讯协定,在此基础上,还有很多其余的网络通讯协定。用于实现client-server的网络互联,以下对这些协定做一个简略的介绍。

1、文件传输
FTP:文件传输协定。可能上传或下载文件,採用了Unix多用户的概念,用户肯定要输出无效的username和password才能应用,只是也反对匿名登录。

在底层实现上,FTP仅仅应用TCP而不应用UDP。被动模式下应用两个套接字,各自是管制命令port和数据port。被动模式下应用一个套接字,为管制命令接口。client工作流程为:连贯-登录-传输-完结。

python相干模块为ftplib,应用时须要实例化一个ftplib.FTP类对象。典型的FTPclient有:命令行client程序、GUIclient程序、网页浏览器。以及本人开发的程序等。

HTTP:网页的超文本传输协定。

HTTP次要用于网页文件的下载和訪问Web服务上。它个别不要求用户输出登录的usernamepassword就可能訪问server上的文件和服务。

scp/rsync:要求用户登录到server,否则不能上传或下载文件。

rcp:近程文件复制协定。

UUCP:复制协定。

2、网络新闻
Usenet新闻零碎是一个寰球存档的电子公告版,各种主题的新闻一应俱全,整个零碎是一个由大量计算机组成的一个宏大的寰球网络。计算机之间共享Usenet上的帖子,每一个零碎都有一个它曾经订阅的新闻组的列表。它仅仅接管它感兴趣的新闻组里的帖子。

NNTP:网络新闻传输协定。

供用户在新闻组中下载或发表帖子。仅仅应用一个规范port119来做通信。

类似于FTP。python相干模块为nntplib,应用时实例化nntplib.NNTP类对象。

3、电子邮件
电子邮件系统有很多组件。最根本的组件就是音讯传输代理MTA,这是一个在邮件替换主机上执行的一个server程序,它负责邮件的路由、队列和发送工作,它们就是邮件从源主机到目标主机所要通过的跳板。

SMTP:简略邮件传输协定。在因特网上MTA之间用于音讯替换的最常常应用的MTS,它被MTA用来把电子邮件从一台主机传送到还有一台主机,在发电子邮件的时候。必须要连贯到一个内部的SMTPserver,这时。发送的邮件程序是一个SMTPclient。SMTPserver也因而成为了音讯的第一个跳板。python相干模块为smtplib,应用时实例化smtplib.SMTP类对象。通信时,仅仅要一个port25。

除了SMTP之外。还有一些开源的MTA如Sendmail、Postfix和商业MTA如Microsoft的Exchange。

邮件用户代理MUA从server上下载邮件,用于下载邮件的第一个协定叫邮局协定POP,目标是让用户的工作站可能訪问邮箱server里的邮件,邮件要能从工作站通过SMTP发送到邮件server。

与POP相干的python模块为poplib, 应用时实例化poplib.POP3类对象。

若干年之后,呈现了还有一个协定。交互式邮件訪问协定IMAP,它比POP更为简单。

4、相干模块
email:email解决的包(也反对MIME)

rfc822:RFC2822邮件头解析器

smtpd:SMTPserver

base64:Base16、32和64数据编码(RFC 3548)

mhlib:解决MH目录和信息的类

mailbox:反对mailbox文件格式解析的类

mailcap:mailcap文件的解决模块

mimetools:(不倡议应用)MIME信息解析工具(应用下面的email)

mimetypes:在文件名称或URL到相干的MIME类型之间转换的模块

MimeWriter:(不倡议应用)MIME信息处理模块(应用下面的email)

mimify:(不倡议应用)信息的MIME解决工具(应用下面的email)

binascii:二进制和ASCII转换

binhex:Binhex4编码和解码反对

ftplib:FTP协定client

gopherlib:Gopher协定client

httplib:HTTP和HTTPS协定client

imaplib:IMAP4协定client

nntplib:NNTP协定client

poplib:POP3协定client

smtplib:STMP协定client

telnetlib:Telnet协定client类