Python網絡編程
Python網絡編程的重要模塊
協議 | 解釋 | 功能用處 | 端口號 | Python模塊 |
---|---|---|---|---|
HTTP |
HTTP是超文本傳輸協議(Hyper-Text Transfer Proctol)的簡稱,超文本傳輸協議是一種用於分佈式、協作式和超媒體信息系統的應用層協議,它是萬維網數據通信的基礎。 | 網頁訪問 | 80 | httplib、urllib 、xmlrpclib |
NNTP |
網絡新聞傳輸協議(NNTP,Network News Transfer Protocol)是計算機客戶和服務器爲管理在Usenet新聞度組上的節點而使用的主導性的協議。 | 閱讀和張貼新聞文章 ,俗稱帖子 | 119 | nnplib |
FTP |
文件傳輸協議(英語:File Transfer Protocol,縮寫:FTP)是一個用於在計算機網絡上在客戶端和服務器之間進行文件傳輸的應用層協議。 | 文件傳輸 | 20 | ftplib/urllib |
SMTP |
SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協議,它是一組用於由源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式。 | 發送郵件 | 25 | smtplib |
POP3 |
郵局協議(英語:Post Office Protocol,縮寫:POP),此協議主要用於支持使用客戶端遠程管理在服務器上的電子郵件。 | 接收郵件 | 110 | poplib |
IMAP4 |
因特網信息訪問協議(英語:Internet Message Access Protocol)是一個應用層協議,用來從本地郵件客戶端,訪問遠程服務器上的郵件。 | 獲取郵件 | 143 | imaplib |
Telent |
Telnet是一種應用層協議,使用於互聯網及局域網中,使用虛擬終端的形式,提供雙向、以文字字符串爲主的命令行接口交互功能。 | 命令行 | 23 | telnetlib |
Gopher |
信息查找 | 70 | gopherlib/urllib |
TCP/IP協議組&OSI/RM
TCP/IP模型:
1、
TCP全稱傳輸控制協議
,它是基於IP提供的尋址和路由服務而建立起來的負責實現端到端可靠傳輸的協議。
2、IP通常被翻譯爲網際協議
,它服務於網絡層,主要實現了尋址和路由的功能。接入網絡的每一臺主機都需要有自己的IP地址,IP地址就是主機在計算機網絡上的身份標識。
3、TCP/IP協議組
同許多其他協議一樣網絡傳輸協議也可以看作一個多層組合,每層解決數據傳輸中的一組問題並且向使用這些低層服務的高層提供定義好的服務。高層邏輯上與用戶更爲接近,所處理數據更爲抽象,它們依賴於低層將數據轉換成最終能夠進行實體控制的形式。
TCP爲什麼能實現端到端的可靠傳輸。原因如下:
- 數據不傳丟不傳錯(利用握手、校驗和重傳機制可以實現)
- 流量控制(通過滑動窗口匹配數據發送者和接收者之間的傳輸速度)
- 擁塞控制(通過RTT時間以及對滑動窗口的控制緩解網絡擁塞)
Socket
socket是一種操作系統提供的進程間通信機制。在操作系統中,通常會爲應用程序提供一組應用程序接口(API),稱爲套接字接口(英語:socket API)。應用程序可以通過套接字接口,來使用網絡套接字,以進行數據交換。