標籤:
From http://www.zhihu.com/question/19854853
Python網路編程是一個很大的範疇,個人感覺需要掌握的點有:
1. 如何使用Python來建立socket, 如何將socket與指定的IP地址和連接埠進行綁定,使用socket來發送資料,接受資料,
2. 如何使用Python中處理線程,從而編寫可以同時處理多個請求的web伺服器
3. 如何使用Python來控制HTTP層的邏輯,包括如何建立http GET,POST,PUT,DELETE請求,如何處理接受到的HTTP請求,這些分別涉及python的httplib, basehttpserver等模組
4. 掌握一種基本的python的web開發架構,比如webpy, django,pylon
5. 瞭解非阻塞式的HTTP Server,比如tornado
6. 瞭解twisted, python編寫的訊息驅動的網路引擎
io model:在 Unix 系統中主要有 5 種 I/O 模型:阻塞式 I/O;非阻塞式 I/O;I/O 多工;訊號驅動式 I/O;非同步 I/O;
參考資料:
網路基礎知識
1. HTTP: the definitive guide http://www.amazon.com/HTTP-Definitive-Guide-David-Gourley/dp/1565925092/
2. Computer Networking: A Top-Down Approach http://www.amazon.com/Computer-Networking-Top-Down-Approach-Edition/dp/0136079679/ref
http://www.binarytides.com/category/sockets/python-sockets-sockets/
python 網路編程基礎
1. python 網路編程 http://www.amazon.com/Foundations-Python-Network-Programming-Goerzen/dp/1590593715
2. python socket編程的文檔 http://docs.python.org/library/socket.html
3. python httplib的文檔 http://docs.python.org/library/httplib.html
python常用架構文檔:
1. django 的官方網站 https://www.djangoproject.com/
2. twisted 的官方網站 http://twistedmatrix.com/trac/
3. tornado 的官方網站 http://www.tornadoweb.org/
python 網路編程要點