2008-11-02 69 views

Trả lời

23

SCGI là phương tiện trung gian về ngôn ngữ để kết nối máy chủ web mặt trước và ứng dụng web. WSGI là một tiêu chuẩn giao diện dành riêng cho Python cho các ứng dụng web.

Mặc dù cả hai đều có nguồn gốc trong CGI, chúng khá khác nhau về phạm vi và bạn có thể sử dụng hợp lý cả hai cùng một lúc, ví dụ như mod_scgi trên máy chủ web nói chuyện với một ứng dụng WSGI chạy như một máy chủ SCGI. Có nhiều triển khai thư viện sẽ chạy các ứng dụng WSGI như các máy chủ SCGI cho bạn (ví dụ wsgitools, cherrypy).

Cả hai đều đáng tin cậy, trong nhiều như bạn có thể xem xét một đặc điểm kỹ thuật đáng tin cậy như trái ngược với thực hiện cụ thể. Những ngày này bạn có thể sẽ viết ứng dụng của bạn như một WSGI có thể gọi được, và xem xét các câu hỏi về triển khai một cách riêng biệt.

Có lẽ một Apache + mod_wsgi (nhúng) giao diện có thể là một chút nhanh hơn so với một Apache + mod_scgi + (wrapper lib SCGI), nhưng trong tất cả các khả năng nó sẽ không vô cùng khác nhau. Có giá trị hơn là khả năng chạy ứng dụng trên nhiều máy chủ, nền tảng và tiêu chuẩn kết nối khác nhau.

7

Cả hai đều là thông số kỹ thuật để cắm ứng dụng web vào máy chủ web. Một sự khác biệt rõ ràng là WSGI đến từ thế giới Python, và tôi tin rằng không có triển khai không phải python.

Thông số kỹ thuật thường không thể so sánh được dựa trên tốt hơn/nhanh hơn/đáng tin cậy.

Chỉ các triển khai của chúng có thể so sánh được và tôi chắc chắn bạn sẽ tìm thấy việc triển khai tốt cả hai đặc điểm.

Có lẽ readread.

9

SCGI (như FastCGI) là giao thức (được tuần tự hóa) thích hợp cho liên lạc giữa các quá trình giữa máy chủ web và ứng dụng web.

WSGI là một API Python, kết nối hai (hoặc nhiều hơn) các mô-đun tương thích WSGI Python trong cùng một quá trình (trình thông dịch Python). Một mô-đun đại diện cho máy chủ web (là triển khai thực hiện máy chủ web trong quá trình Python hoặc cổng vào máy chủ web trong một quá trình khác, ví dụ: SCGI). Mô-đun kia là hoặc đại diện cho ứng dụng web. Ngoài ra, không có hoặc nhiều mô-đun giữa các mô-đun hai, có thể phục vụ như mô-đun "middleware" của WSGI, thực hiện các công việc như quản lý phiên/cookie, lưu trữ nội dung, xác thực, v.v. WSGI API sử dụng các tính năng ngôn ngữ Python như lặp/tạo và truyền đối tượng giữa các mô-đun tương thích với WSGI.

+0

Câu trả lời hoàn hảo. – DejanLekic

Các vấn đề liên quan