Sự khác biệt giữa hai loại này là gì? Cái nào tốt hơn/nhanh hơn/đáng tin cậy?Sự khác nhau giữa scgi và wsgi là gì?
Trả lời
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.
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.
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.
- 1. Sự khác nhau giữa WPF và WinForms là gì?
- 2. Sự khác nhau giữa JavaScript và Java là gì?
- 3. Sự khác nhau giữa ODBC và OleDB là gì?
- 4. Sự khác nhau giữa SGML và XML là gì?
- 5. Sự khác nhau giữa DefaultSelenium và RemoteWebDriver là gì?
- 6. Sự khác nhau giữa RMI và Corba là gì?
- 7. Sự khác nhau giữa wsHttpBinding và ws2007HttpBinding là gì?
- 8. Sự khác nhau giữa Pingback và Trackback là gì?
- 9. Trong Python, sự khác nhau giữa ".append()" và "+ = []" là gì?
- 10. Sự khác nhau giữa AxInterop và Interop là gì?
- 11. Sự khác nhau giữa CellClick và CellMouseClick là gì?
- 12. Sự khác nhau giữa .bashrc, .bash_profile và .environment là gì?
- 13. Sự khác nhau giữa JSP và Facelets là gì?
- 14. Sự khác nhau giữa hg quên và hg là gì?
- 15. Sự khác nhau giữa GDI và GDI + là gì?
- 16. Sự khác nhau giữa đá quý và plugin là gì?
- 17. Sự khác nhau giữa metaClass.methods và metaClass.metaMethods là gì?
- 18. Sự khác nhau giữa kEND và $ end là gì?
- 19. Sự khác nhau giữa java và jsp là gì?
- 20. Sự khác nhau giữa Application.Run() và Form.ShowDialog() là gì?
- 21. Sự khác nhau giữa -0 và 0 là gì?
- 22. Sự khác nhau giữa HTTP 1.0 và 1.1 là gì?
- 23. Sự khác nhau giữa java.lang.Math và java.lang.StrictMath là gì?
- 24. Sự khác nhau giữa " " và "" là gì?
- 25. Sự khác nhau giữa Spring BeanFactoryAware và ApplicationContextAware là gì?
- 26. sự khác nhau giữa SCRIPT_FILENAME và SCRIPT_NAME là gì?
- 27. Sự khác nhau giữa JSP và JSTL là gì?
- 28. Sự khác nhau giữa JSF và Facelets là gì?
- 29. Sự khác nhau giữa javax.inject.Inject và com.google.inject.Inject là gì?
- 30. sự khác nhau giữa ServiceHost và WebServiceHost là gì?
Câu trả lời hoàn hảo. – DejanLekic