亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

web - 有了CGI為什么還需要Nginx?

瀏覽:94日期:2023-08-15 16:08:08

問題描述

查閱了資料后, 有一個籠統(tǒng)的理解, 請指正:

在一個計算機(jī)上運行著一個網(wǎng)站, 有如下分工.

1. Nginx 監(jiān)聽計算機(jī)的某一個端口(比如80), 等待用戶的request2. 遠(yuǎn)程有一個用戶執(zhí)行了一個request, Nginx監(jiān)聽到了, 然后把這個請求傳給CGI程序(比如Python的WSGI)3. CGI程序接受請求, 運行對應(yīng)的代碼, 然后返回一個response

上面的理解對嗎? 如果是對的, Nginx為什么要存在呢? 因為好像就算沒有Nginx, 直接用CGI接受請求也是可以的樣子, 僅僅是為了負(fù)載平衡嗎?

謝謝.

問題解答

回答1:

蟹妖。一股知乎范兒首先把問題修正為為什么CGI與WebServer不能互相替代? 因為CGI是一種標(biāo)準(zhǔn),Nginx則是一種應(yīng)用。兩者不是同類,所以下面用WebServer代替Nginx。

CGI是一種標(biāo)準(zhǔn),Nginx則是一種應(yīng)用。從瀏覽器的角度來看,瀏覽器只負(fù)責(zé)發(fā)送請求,接收來自WebServer的返回結(jié)果并渲染之。對于WebServer來講,它需要做的僅僅是接收請求,尋找瀏覽器請求的文件并且發(fā)送回去。如果僅僅是這樣,世界就很完美了。但是后來發(fā)生的事情大家都知道了。。我們不光要瀏覽靜態(tài)網(wǎng)頁,我們還要登陸論壇、發(fā)帖罵人灌水踩答案點贊刷聲望等等。這些行為是靜態(tài)的Html沒法完成的。所以有了JS、Flash等等基于前端的交互技術(shù)。WebServer把包含了這些代碼的文件發(fā)給瀏覽器,后者把它解析稱它應(yīng)該有的樣子(或者不應(yīng)該有的樣子,比如IE6),我們可以在頁面上看看動畫什么的,這些稱之為前段交互技術(shù)。但是有些交互前端做不了, 比如我上次發(fā)了一個高清無碼套圖,我要看到大家的反應(yīng),點個贊啊樓主好人啊之類的,那么這個技術(shù)就要用到數(shù)據(jù)庫,但是數(shù)據(jù)庫本身是需要另外一種語言來操作的,這種語言可以是python、prel、Ruby、PHP等等,我們稱之為動態(tài)語言。他們對數(shù)據(jù)庫進(jìn)行增刪查改四大操作,并且返回結(jié)果給WebServer,后者再傳給瀏覽器。

由于有很多動態(tài)語言和很多種Web服務(wù)器,他們彼此之間互不兼容,給程序員造成了很大的麻煩。那么,CGI應(yīng)運而僧。CGI的定義是統(tǒng)一網(wǎng)關(guān)接口。從此WebServer收到后臺動態(tài)交互請求就直接發(fā)給CGI,CGI發(fā)給動態(tài)語言,動態(tài)語言把結(jié)果發(fā)回給CGI,CGI再發(fā)回給WebServer,后面的事情你都清楚了。。。。

那么結(jié)論就是,CGI是一個翻譯層,它的功能不是直接提供結(jié)果給瀏覽器,而是翻譯來自WebServer的請求并轉(zhuǎn)給后臺的應(yīng)用程序,并且把執(zhí)行結(jié)果翻譯成靜態(tài)網(wǎng)頁返回給WebServer,所以,是不能互換的。

最后,寫的比較倉促,很多表述有不嚴(yán)謹(jǐn)?shù)牡胤剑瑲g迎拍磚。

回答2:負(fù)載均衡反向代理平滑升級擴(kuò)容災(zāi)備隱藏CGI語言種類記錄日志gzip

太多了,我覺得仔細(xì)想想以后我還能列出至少和上面一樣長的nginx的其他好處

回答3:

瀏覽器跟 Web 服務(wù)器間的通信是 HTTP 協(xié)議。瀏覽器不支持 CGI/FastCGI 協(xié)議,所以無法拋棄 Nginx 直接跟 FPM 、PHP-CGI 等通信。

回答4:

Nginx本質(zhì)是個web server,如果直接用CGI,那么這個CGI就成了web server,邏輯又混亂了。CGI是為了處理動態(tài)的邏輯。web server僅僅是一個HTTP服務(wù)的實現(xiàn),只管收一個請求,然后回復(fù)一個相應(yīng)的響應(yīng)(通常是一個HTML頁面,根據(jù)請求的不同,也可以是其它的文件),不管任何邏輯。所有的邏輯處理,都是扔給CGI的。比如用戶登錄的驗證等。

回答5:

可以把Nginx想像為傳令兵,主要的活不是他做的,但是如果沒有他,實際干活的人就是親自跑去接任務(wù)、交任務(wù)。

不是不能做,而是干活的人只愿意關(guān)心工作如何做好,不愿意做跑腿那堆事兒,把自己的功能弄成大雜燴。

回答6:

你不覺得如果沒有Nginx,你列出的4點中的第1點就沒人干了嗎?

回答7:

靜態(tài)文件,基本都交給nginx去處理了。動態(tài)的請求的話,nginx相當(dāng)于一層路由了,想轉(zhuǎn)到哪兒就轉(zhuǎn)到哪兒,cgi只需要專注處理具體的業(yè)務(wù)邏輯即可

標(biāo)簽: web
相關(guān)文章:
主站蜘蛛池模板: 国产网址| 二级黄绝大片中国免费视频0 | 国产下药迷倒白嫩美女网站 | 黑人日b | 国产麻豆视频在线看网站 | 鲁丝一区二区三区不属 | 国产一区二区在线观看免费 | 亚洲精品片 | 欧美人在线一区二区三区 | 国产caoni111在线观看视频 | 亚洲国产天堂在线网址 | 青草青在线 | 免费一级毛片在播放视频 | 午夜一级毛片看看 | 久久99国产精品久久99果冻传媒 | 久色成人 | 最近中国免费高清观看 | 欧美福利一区二区三区 | 视频一区二区三区在线 | 国产黄色一级毛片 | 麻豆免费视频 | 亚洲国产日韩在线人成蜜芽 | 在线观看福利视频在线观看 | 精东视频污 | 国产高清不卡码一区二区三区 | 成人欧美视频免费看黄黄 | 女人牲交视频一级毛片 | 免费观看一级欧美在线视频 | 欧美日韩亚洲综合久久久 | 亚洲男人的天堂久久香蕉 | 一级黄色片在线播放 | 91福利国产在线观看一区二区 | 网站在线观看 | 欧美一区二区三区成人看不卡 | 黄色片视频在线 | 国产欧美日韩一区二区三区在线 | 在线观看视频一区二区 | 一级做a爰片久久毛片看看 一级做a爰片久久毛片美女 | 亚洲a在线观看 | 综合在线视频精品专区 | 中国帅小伙gaysextubevideo |