Tại sao chúng ta nói rằng các dịch vụ web là phi trạng thái?Dịch vụ web là phi trạng thái?
Trả lời
Chúng không tồn tại bất kỳ trạng thái nào giữa các yêu cầu từ máy khách. nghĩa là dịch vụ không biết và cũng không quan tâm, rằng yêu cầu tiếp theo đến từ khách hàng đã/chưa đưa ra yêu cầu trước đó. Về cơ bản, nó là một 'cung cấp cho tôi thông tin này và quên đi tôi' trong đó đặt các onus trên máy khách để duy trì bất kỳ trạng thái nào.
Yêu cầu độc lập với nhau.
Vì HTTP không có trạng thái. Sau khi yêu cầu của khách hàng được thực hiện bởi máy chủ, không có thông tin nào được lưu trữ để sử dụng trong các giao dịch trong tương lai.
Vì dịch vụ web dựa trên HTTP, là giao thức không trạng thái.
Trích dẫn wikipedia:
Một máy chủ không quốc tịch là một máy chủ mà xử lý mỗi yêu cầu như một giao dịch độc lập mà không liên quan đến bất kỳ yêu cầu trước .
tức là mỗi yêu cầu độc lập so với trước: ngay cả khi chúng tôi sử dụng một số "thủ thuật", chẳng hạn như cookie để giữ một số trạng thái giữa các yêu cầu.
Có sự khác biệt lớn giữa giao thức không trạng thái và dịch vụ web không quốc tịch. Ứng dụng có thể được stateful (sử dụng "thủ thuật", như bạn đề cập đến) trong khi các giao thức cơ bản là không trạng thái. Ngoài ra, các dịch vụ web không nhất thiết ngụ ý HTTP. Ví dụ: SOAP có thể làm việc với SMTP dưới dạng lớp truyền tải. –
Tôi sẽ ngần ngại gọi một dịch vụ SMTP SOAP là "dịch vụ web". Có rất nhiều loại dịch vụ, nhưng với tôi, dịch vụ web = HTTP hoặc HTTPS. SMTP đã xuất hiện trước web. Vì vậy, tôi nghĩ rằng mối tương quan của Pascal là tốt. – codenheim
Khái niệm về serivce web là mô hình hóa RPC (Gọi thủ tục từ xa), còn gọi là Hàm. Vì vậy, bạn không cần phải sử dụng phiên. Ngoài ra, ý tưởng là không quốc tịch xuất phát từ sự cần thiết phải mở rộng các máy chủ web thành một trang trại máy chủ và do đó cho phép khả năng cao hơn.
Tuy nhiên, việc chọn trạng thái sử dụng phụ thuộc vào công nghệ và nhà phát triển. Không có gì để ngăn cản bạn tạo ra một dịch vụ Web ASP.Net và thiết lập "EnableSession = True" trong định nghĩa phương thức.
Điều này có thể hữu ích trong một số trường hợp xác thực cơ bản, tức là xác thực biểu mẫu được phát triển tại nhà hoặc để cung cấp tương quan tự động cho "quy trình làm việc" ngắn ngủi. (Tuy nhiên, tôi khuyến khích bạn xem xét các kỹ thuật hiện đại hơn sẽ cung cấp mức bảo mật và hiệu suất cao hơn).
- 1. Các dịch vụ web trạng thái không quốc tịch
- 2. Trạng thái của Dịch vụ quản trị triển khai OSGi
- 3. Lệnh Windows để nhận trạng thái dịch vụ?
- 4. Dịch vụ Góc có nên có trạng thái không?
- 5. trạng thái HTTP 407: xác thực Proxy cần Lỗi khi gọi dịch vụ web
- 6. Tìm trạng thái dịch vụ Windows từ ứng dụng Java?
- 7. Có thể REST trong thực tế thực sự là phi trạng thái?
- 8. Hành động là phi trạng thái nhưng là bộ điều khiển không quốc tịch?
- 9. Dịch vụ WCF có phải là dịch vụ web không?
- 10. SOA/Dịch vụ Web Pagination
- 11. Mã trạng thái phản hồi web
- 12. Dịch vụ Web RESTful là gì
- 13. Dịch vụ web RESTful là gì?
- 14. Trạng thái cũ là gì?
- 15. Trạng thái Lua là gì?
- 16. Đây có phải là dịch vụ web hoặc dịch vụ web không?
- 17. Cách tìm trạng thái giao dịch
- 18. Trạng thái giao dịch trong JDBC
- 19. Dịch vụ báo cáo 2008: "Trạng thái HTTP 401: Không được phép" Số phát hành
- 20. cách ném mã trạng thái HTTP 204 bằng cách sử dụng khung công tác trong dịch vụ web RESTful?
- 21. Trạng thái Trident trong Storm là gì?
- 22. Trong tình huống nào có trạng thái tốt hơn không trạng thái cho web?
- 23. Trạng thái của tcl_precision là gì?
- 24. Trạng thái mức/trạng thái Pygame
- 25. Dịch vụ web Codeigniter
- 26. Trạng thái của PHPDoc là gì?
- 27. Việc cập nhật Thông báo có xóa trạng thái tiền cảnh của Dịch vụ không?
- 28. có nghĩa là chỉ dành cho các dịch vụ web HOẶC cho cả dịch vụ web VÀ các trang web?
- 29. Làm cách nào để ngăn dịch vụ WCF xâm nhập vào trạng thái bị lỗi?
- 30. Cách thu thập từng Tên dịch vụ và Trạng thái của nó trong Windows?
@mike: quá chữ? – brian
Phiên bản tôi nhận xét ngắn hơn rất nhiều, và về cơ bản đã nói "bởi vì họ không kiên trì". Tôi đang xóa bình luận của tôi cộng với đây là một ý kiến. –
@mike: xấu của tôi. Tôi cũng cảm thấy thế. Đó là lý do tôi cập nhật nó. – brian