Tôi đã tự hỏi nếu nó là lớp 7 cho websocket như ứng dụng thực sự là trình duyệt.Lớp OSI nào có giao thức WebSocket nằm trên?
Trả lời
Websocket phụ thuộc vào TCP (OSI # 4) và chỉ giai đoạn bắt tay được khởi tạo bởi HTTP (OSI # 7) 1. Mặc dù nó chỉ sử dụng cổng TCP 80.
Theo hành vi thời gian chạy, tôi phải nói WebSocket phải là một giao thức OSI đặc biệt # 7. Sau đó, chúng ta có thể đặt SSL/TLS vào OSI # 6 (xem wikipedia) và triển khai bên trong trình duyệt vào OSI # 5.
Tốt hơn là hiểu lớp sử dụng mô hình TCP/IP thay vì mô hình OSI. Các lớp WebSocket trên đầu trang của TCP, được coi là tầng vận chuyển trong mô hình TCP/IP và có thể lớp giao thức tầng ứng dụng trên đầu trang của WebSocket.
HTTP, SSL, HTTPS, WebSockets, v.v. là tất cả các giao thức lớp ứng dụng.
Nhưng ngăn xếp giao thức OSI không áp dụng cho TCP/IP, trong đó có mô hình lớp riêng: cùng tên, hàm khác nhau. Nó không phải là hữu ích để tiếp tục sử dụng ngăn xếp OSI lỗi thời như thể nó thực sự phản ánh bất kỳ thực tế. Nó không.
Chỉ bản bắt tay được diễn giải bởi máy chủ https bằng yêu cầu nâng cấp. Ngoài Websocket đó là giao thức dựa trên TCP độc lập. Vì vậy, tôi sẽ nói lớp máy chủ # 4 và # 7. https://tools.ietf.org/html/rfc6455#page-11
- 1. Giao thức WebSocket và CGI/FastCGI/SCGI
- 2. "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" có nghĩa là gì trong Giao thức WebSocket
- 3. ObjC: có một thứ như một "giao thức lớp" không?
- 4. Tại sao phương thức getResourceAsStream nằm trong lớp Class?
- 5. Giao thức uwsgi có nhanh hơn giao thức http không?
- 6. Làm cách nào để bạn có thể mở rộng giao thức Clojure sang giao thức khác?
- 7. HTML5 WebSocket chỉ hoạt động trên localhost
- 8. Tại sao có thể gọi phương thức trên phương thức giao diện Java? [So sánh]
- 9. Phương thức giao diện Java Phương pháp: Mỗi lớp có thực hiện một giao diện không?
- 10. Trên thiết bị máy chủ websocket iOS
- 11. Có plugin websocket nào cho IE không?
- 12. đăng ký giao thức trên mac osx?
- 13. Có giao diện TextWriter nào cho lớp System.Diagnostics.Debug không?
- 14. Làm thế nào để có được MethodInfo của phương thức giao diện, khi thực hiện MethodInfo của phương thức lớp?
- 15. Tại sao GetHashCode nằm trong lớp Object?
- 16. WebSocket Đóng gói
- 17. Tại sao giao diện biểu thức của Eclipse không thành công trên một số lớp?
- 18. Sử dụng WebSocket trên máy chủ Apache
- 19. Sử dụng WebSocket trên Windows 7
- 20. Kiểm tra xem NSButton có nằm trên drawRect
- 21. Mẫu Singleton Force trên một Lớp thực hiện Giao diện
- 22. Hỗ trợ WebSocket trên thiết bị di động
- 23. Giao diện có phương thức toString không?
- 24. Làm cách nào để gọi một phương thức lớp dẫn xuất từ lớp cơ sở?
- 25. Gói tin di chuyển từ máy này sang máy khác qua Internet dựa trên mô hình OSI
- 26. Java: mở rộng một lớp và triển khai một giao diện có cùng phương thức
- 27. Redeclaring/mở rộng typedef định nghĩa trong giao thức Objective-C trong lớp học phù hợp với giao thức
- 28. giao thức không quốc tịch và giao thức trạng thái
- 29. websocket scalability
- 30. triển khai máy chủ WebSocket cho Delphi
Mô hình OSI không thực sự hoạt động trên # 4. Đó là nhiều hơn những gì các giao thức có thể ngăn xếp với nhau và những gì các giao thức cung cấp những gì. Lưu ý rằng Osi # 6 (mã hóa bảng mã, mã hóa dữ liệu ...) thường được xây dựng trên đầu trang của HTTP (thường được coi là thuộc về OSI # 7. –
Ổ cắm web và HTTP thực sự phải là OSI # 4 (lớp truyền tải) trong ý kiến, nhưng nó dựa trên một giao thức tầng giao vận (TCP) chính nó –
OSI # 6 (lớp trình bày) phải chịu trách nhiệm mã hóa dữ liệu, nhưng wikipedia ném SSL/TLS vào OSI # 5 (lớp phiên) vì giữ một phiên làm việc SSL _also_ hiện –