国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

web - Pourquoi avons-nous besoin de Nginx alors que nous avons CGI?
漂亮男人
漂亮男人 2017-05-16 17:27:17
0
7
899

Après avoir examiné les informations, j'ai une compréhension générale. Veuillez me corriger?:

Un site Web fonctionne sur un ordinateur, avec la division du travail suivante.

1. Nginx 監(jiān)聽(tīng)計(jì)算機(jī)的某一個(gè)端口(比如80), 等待用戶的request

2. 遠(yuǎn)程有一個(gè)用戶執(zhí)行了一個(gè)request, Nginx監(jiān)聽(tīng)到了, 然后把這個(gè)請(qǐng)求傳給CGI程序(比如Python的WSGI)

3. CGI程序接受請(qǐng)求, 運(yùn)行對(duì)應(yīng)的代碼, 然后返回一個(gè)response

La compréhension ci-dessus est-elle correcte ? Si elle est correcte, pourquoi Nginx existe-t-il ? Parce qu'il semble que même sans Nginx, il est possible d'utiliser directement CGI pour accepter les requêtes ?

Merci.

漂亮男人
漂亮男人

répondre à tous(7)
左手右手慢動(dòng)作

Démon crabe. Un style Zhihu
Tout d'abord, corrigez la question en Pourquoi CGI et WebServer ne peuvent-ils pas se remplacer?? Parce que CGI est un standard et Nginx est une application. Les deux ne sont pas identiques, donc WebServer est utilisé à la place de Nginx ci-dessous. 為什么CGI與WebServer不能互相替代? 因?yàn)?code>CGI是一種標(biāo)準(zhǔn),Nginx則是一種應(yīng)用。兩者不是同類(lèi),所以下面用WebServer代替Nginx。

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

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

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

CGI est un standard, Nginx est une application.

Du point de vue du navigateur, le navigateur est uniquement responsable de l'envoi des requêtes, de la réception des résultats de retour du WebServer et de leur rendu. Pour le WebServer, il lui suffit de recevoir la requête, de trouver le fichier demandé par le Navigateur et de le renvoyer. Si seulement c’était le cas, le monde serait parfait.

Mais tout le monde sait ce qui s'est passé ensuite. . Nous devons non seulement parcourir des pages Web statiques, mais nous devons également nous connecter à des forums, publier des injures, voter contre des réponses et gagner en réputation, etc. Ces comportements ne peuvent pas être accomplis par du HTML statique. Il existe donc JS, Flash et d’autres technologies interactives basées sur le front-end. WebServer envoie le fichier contenant ces codes au Navigateur, qui l'analyse pour déterminer à quoi il devrait ressembler (ou à quoi il ne devrait pas ressembler, comme IE6). Nous pouvons regardez les animations et autres sur la page. C'est ce qu'on appelle les technologies d'interaction frontale. ?? Mais il y a certaines interfaces interactives qui ne peuvent pas être réalisées. Par exemple, j'ai posté une photo haute définition non censurée la dernière fois. Je veux voir les réactions de tout le monde, comme l'affiche, quelle bonne personne, etc. utilisation d'une base de données, mais la base de données elle-même l'est. Si un autre langage est nécessaire pour fonctionner, ce langage peut être python, prel, Ruby, PHP, etc. Nous l'appelons langage dynamique. Ils effectuent quatre opérations majeures d'ajout, de suppression, de vérification et de modification de la base de données, et renvoient les résultats au WebServer, qui les transmet ensuite au navigateur. ?? ??Comme il existe de nombreux langages dynamiques et de nombreux types de serveurs Web, ils sont incompatibles les uns avec les autres, causant beaucoup de problèmes aux programmeurs. Ensuite, CGI est né. La définition de CGI est Unified Gateway Interface. Dès lors, le WebServer re?oit la demande d'interaction dynamique en arrière-plan et l'envoie directement au CGI. CGI l'envoie au langage dynamique, et le langage dynamique l'envoie. le résultat est renvoyé à CGI, CGI puis renvoyé au WebServer. Vous saurez ce qui se passe ensuite. . . . ?? ??La conclusion est que CGI est une couche de traduction. Sa fonction n'est pas de fournir directement les résultats au navigateur, mais de traduire la requête du serveur Web et de la transférer vers l'application en arrière-plan, et exécutez-le Les résultats sont traduits en pages Web statiques et renvoyés au serveur Web, ils ne sont donc pas interchangeables. ?? ??Finalement, je l'ai écrit à la va-vite, et beaucoup de mes expressions ne sont pas rigoureuses. Les commentaires sont les bienvenus. ??
習(xí)慣沉默
  • équilibrage de charge
  • Proxy inversé
  • Mise à niveau fluide
  • Extension de la reprise après sinistre
  • Masquer le type de langage CGI
  • Enregistrer les journaux
  • gzip

Il y en a tellement, je pense qu'après y avoir réfléchi, je peux énumérer d'autres avantages de nginx qui sont au moins aussi longs que ceux ci-dessus

淡淡煙草味

La communication entre le navigateur et le serveur web est le protocole HTTP. Le navigateur ne supporte pas le protocole CGI/FastCGI, il est donc impossible d'abandonner Nginx et de communiquer directement avec FPM, PHP-CGI, etc.

巴扎黑

Nginx est essentiellement un serveur Web. Si vous utilisez CGI directement, alors ce CGI devient un serveur Web et la logique est déroutante.
CGI sert à gérer la logique dynamique.
Le serveur Web n'est qu'une implémentation d'un service HTTP. Il re?oit uniquement une requête puis répond avec une réponse correspondante (généralement une page HTML ou d'autres fichiers en fonction de la requête), quelle que soit la logique. Tous les traitements logiques sont confiés à CGI. Par exemple, vérification de la connexion de l'utilisateur, etc.

我想大聲告訴你

Vous pouvez considérer Nginx comme un messager. Le travail principal n'est pas effectué par lui, mais sans lui,
. Les personnes qui effectuent réellement le travail sont celles qui vont chercher et remettent les taches en personne.

Ce n’est pas que vous ne pouvez pas le faire, c’est que les gens qui font le travail ne se soucient que de la fa?on de bien faire le travail,
Je n'ai pas envie de faire beaucoup de courses et de faire de mes fonctions un salmigondis.

曾經(jīng)蠟筆沒(méi)有小新

Ne pensez-vous pas que sans Nginx, personne ne serait capable de faire le point 1 des 4 points que vous avez listés ?

漂亮男人

Les fichiers statiques sont essentiellement transmis à nginx pour traitement.
Pour les requêtes dynamiques, nginx équivaut à une couche de routage. Vous pouvez aller où vous voulez uniquement en vous concentrant sur le traitement d'une logique métier spécifique

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal