nginx 和 apache 都遵循什麼格式傳送請求給應用程式?

nginx 和 apache 都遵循什麼格式傳送請求給應用程式?

我只是在想,如果像 Rails 或 Laravel 這樣的應用程式可以接收來自 apache 或 nginx 等不同伺服器應用程式的請求,那麼伺服器必須遵循某種排序或請求格式來向應用程式提供請求?

這是什麼格式?

或者我對這個概念的理解是錯的?

答案1

您的概念沒有錯誤,您的想法是正確的!

有幾種方法可以做到這一點:

  • CGI 腳本:網頁伺服器設定變量,為每個請求執行應用程序,在 stdin 上傳遞請求正文並期望在 stdout 上得到 http 回應
  • 代理:應用程式是它自己的網頁伺服器,nginx/apache 簡單地代理它
  • uwsgi/fastcgi:應用程式和apache透過套接字進行通信,使用特殊的協定來傳輸請求/回應訊息
  • 內建模組(例如apache中的mod_php):網頁伺服器嵌入了腳本語言的解釋器。

答案2

我認為您正在尋找的術語是 SAPI - 伺服器應用程式接口,更具體地說,是 ISAPI (IIS) 和 NSAPI(Netscape,如果它們仍然存在嗎?)。

查看這個針對特定語言 (PHP) 問題的答案,以了解所有這些是如何工作的 -https://stackoverflow.com/a/38669983/6867430

相關內容