從零開始學習Cgi

這篇文章適合沒有任何基礎的朋友看,有基礎的大佬移步python文檔

為什么要用cgi航唆?

在web發(fā)展的初期胀蛮,網(wǎng)頁都是靜態(tài)的。為了使用動態(tài)網(wǎng)頁糯钙,就產(chǎn)生了技術--cgi
什么是靜態(tài)網(wǎng)頁粪狼,什么是動態(tài)網(wǎng)頁退腥?

  • 靜態(tài)網(wǎng)頁:所有人得到的頁面都是相同的
  • 動態(tài)網(wǎng)頁:如購物網(wǎng)站,每個人購物車里的東西都不一樣

cgi如何做到靜態(tài)轉動態(tài)再榄?

前端通過表單等可以向web服務器(比如apache)發(fā)送一個url狡刘,以及格外的參數(shù)(get或post等請求類型及其參數(shù),服務器的信息等)困鸥。在Apache開啟了cgi模塊后嗅蔬,可以將上面的這些數(shù)據(jù)發(fā)送給cgi程序,這個程序可以是各種語言(c語言c++等)疾就。程序可以解析出具體參數(shù)澜术,然后輸出內(nèi)容響應給前端頁面

——————————————————————————————————
看不懂上面的沒關系猬腰,先看看下面的基礎知識再返回來琢磨

網(wǎng)站到底是怎么發(fā)送數(shù)據(jù)的鸟废?

1.用戶在瀏覽器中輸入要訪問的域名地址
2.通過一系列解析與web服務器建立一條TCP連接通道,之后瀏覽器向web服務器發(fā)送一條HTTP請求報文姑荷。
3.web服務器響應并讀取瀏覽器的請求信息盒延,發(fā)送給應用服務器
4.應用服務器返回消息給web服務器,web服務器返回一條HTTP響應報文給瀏覽器

網(wǎng)站響應的簡略流程

有的網(wǎng)站因為流量小鼠冕,不使用web服務器添寺,直接發(fā)送數(shù)據(jù)給應用服務器。
可以參考:例子
用戶訪問瀏覽器完整過程供鸠,查看第四點
——————————————————————————————————
apache畦贸,nginx這些服務器,是靜態(tài)服務器楞捂,也就是說薄坏,只能把本地的現(xiàn)成的html,css之類的東西傳給瀏覽器寨闹。如果需要經(jīng)過一些程序處理后返回數(shù)據(jù)給瀏覽器胶坠,那么服務器上的這個過程就叫cgi,程序就是cgi程序繁堡。如果沒有cgi的話沈善,我們就無法訪問到后面的應用服務器,只能返回一些本地現(xiàn)成的靜態(tài)數(shù)據(jù)椭蹄。

cgi的概念

CGI是外部應用程序(CGI程序)與WEB服務器之間的接口標準闻牡,是在CGI程序和Web服務器之間傳遞信息的過程。

cgi腳本工作流程

1.瀏覽器通過HTML表單或超鏈接請求指向一個CGI應用程序的URL绳矩。
2.服務器收到請求罩润。
3.服務器執(zhí)行所指定的CGI應用程序。
4.CGI應用程序執(zhí)行所需要的操作翼馆,通常是基于瀏覽者輸入的內(nèi)容割以。
5.CGI應用程序把結果格式化為網(wǎng)絡服務器和瀏覽器能夠理解的文檔(通常是HTML網(wǎng)頁)金度。
6.網(wǎng)絡服務器把結果返回到瀏覽器中。

cgi流程

參考資料:
Web是怎么工作的: CGI腳本
如何理解 CGI, WSGI严沥?
網(wǎng)關協(xié)議學習:CGI猜极、FastCGI、WSGI
Web 服務器與應用服務器的區(qū)別是什么消玄?
用戶訪問網(wǎng)站的完整流程
Python CGI編程

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末跟伏,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子莱找,更是在濱河造成了極大的恐慌酬姆,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奥溺,死亡現(xiàn)場離奇詭異辞色,居然都是意外死亡,警方通過查閱死者的電腦和手機浮定,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門相满,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人桦卒,你說我怎么就攤上這事立美。” “怎么了方灾?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵建蹄,是天一觀的道長。 經(jīng)常有香客問我裕偿,道長洞慎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任嘿棘,我火速辦了婚禮劲腿,結果婚禮上,老公的妹妹穿的比我還像新娘鸟妙。我一直安慰自己焦人,他們只是感情好,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布重父。 她就那樣靜靜地躺著花椭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪房午。 梳的紋絲不亂的頭發(fā)上个从,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天,我揣著相機與錄音,去河邊找鬼嗦锐。 笑死,一個胖子當著我的面吹牛沪曙,可吹牛的內(nèi)容都是我干的奕污。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼液走,長吁一口氣:“原來是場噩夢啊……” “哼碳默!你這毒婦竟也來了?” 一聲冷哼從身側響起缘眶,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤嘱根,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后巷懈,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體该抒,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年顶燕,在試婚紗的時候發(fā)現(xiàn)自己被綠了凑保。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡涌攻,死狀恐怖欧引,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情恳谎,我是刑警寧澤芝此,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站因痛,受9級特大地震影響婚苹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜婚肆,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一租副、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧较性,春花似錦用僧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至攀操,卻和暖如春院仿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工歹垫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留剥汤,地道東北人。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓排惨,卻偏偏與公主長得像吭敢,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子暮芭,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容