
我只是在想,如果像 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