本節內容
- Web服務器
- 瀏覽器
- CGI
- WSGI
- WEB框架
- 前端開發
- 后端開發
一、Web服務器
基礎知識
- 涉及網絡領域必須了解ISO七層模型以及TCP/IP協議
- TCP/IP協議簇中指明在IP、TCP之上的編程稱為Socket編程,即所謂的網絡編程
- Python Socket編程請參見:Python網絡編程之路(一)——Socket初識
Web服務器
實現ISO網絡七層協議中應用層協議的一種——HTTP。由於應用層通常的功能就是對外提供服務,so不同應用后邊會加"服務器"三個字。例如:文件傳輸服務器——FTP ,郵件服務器——SMPT,POP3等等
主要功能
- 解析瀏覽器發來的HTTP請求:GET,POST
- 響應(RESPONSE) HTTP請求並傳遞HTML文檔
目前市面上主流的Web服務器:Apache、IIS、Nginx
二、瀏覽器
Socket編程中得知:C/S架構中服務器(S)對外提供服務(監聽本地端口、處理請求),客戶端(C) 負責發送請求。瀏覽器就是Web服務中的客戶端軟件,常見:IE、FireFox、Chrome
三、CGI
動態網頁
傳統的Web服務器功能見上,缺點是HTML文檔是靜態的(事先寫好存放到指定目錄中),人機交互簡單、沒有個體化差異(即瀏覽器下載Web服務器HTML文檔並解析展現供所有用戶看)
動態網頁即根據用戶(瀏覽器)的不同請求展現不同的內容,即增加"網站"的互動性。可以說動態網頁的需求迫在眉睫,CGI誕生了
直白來講,Web服務器自身不處理動態內容而是自己定義了一套標准(也叫協議)交由服務器上的其他應用程序來進行處理,而且本身僅通過此接口接受並轉換成HTML等瀏覽器識別的文件
CGI文件可以由C、Perl等編程語言實現,編譯成*.cgi文件即可,通常也叫cgi腳本文件
四、WSGI
The Web Server Gateway Interface (WSGI) is a simple calling convention for web servers to forward requests to web applications or frameworks written in the Python programming language.
WSGI 配合Python Web框架使Python語言來進行Web應用程序開發變得更加方便。目前很多Web服務器都支持WSGI
更多猛點這里
五、Web框架
有了CGI,WSGI已經可以實現動態生成網頁了,但對於Web應用程序來說還有很多東西是可以通用的,例如:數據庫連接、重復性業務(登陸、注冊)、會話管理等等
把通用的功能套路化就是框架,在Web領域即Web框架
《Python Web框架示意圖》
常用Python Web框架: Django、Flask、Tornado、Web.py等
六、前端開發
Web中的前端就是指瀏覽器,so前端開發涉及內容:
- 瀏覽器(Chrome,FireFox等)
- 人機交互界面開發(通常所謂的前端開發),核心技術:HTML\CSS\JS\Ajax。當然還有很多前端框架(JQuery)
七、后端開發
通常分為三類:
- Web服務器(Apache、IIS、Nginx、Tomcat等)
- Web框架
- 運用Web框架,業務邏輯處理、數據庫操作等(通常所謂的后端開發)