Tôi đang cố gắng sử dụng EventSource cho kết nối trực tuyến tới máy chủ. Nhưng tôi cần đặt tiêu đề khóa phiên trên yêu cầu XHR cơ bản. Làm thế nào để truy cập XHR từ đối tượng EventSource nếu nó thậm chí có thể? Cảm ơn! Lưu ý rằng tôi không chắc chắn rằng CORS thậm chí còn được hỗ trợ với EventStream chưa, điều này sẽ ngăn điều này làm việc cho tôi ngay từ đầu, nhưng tôi đã đọc ở một số nơi nhất định mà nó cần được hỗ trợ ...Đầu đề EventSource XHR
Trả lời
Đầu tiên, tin tốt là mọi trình duyệt hỗ trợ SSE cũng có CORS hỗ trợ và làm việc với nó. (Một năm trước đây đã có vấn đề, vì vậy bạn sẽ chỉ trúng vấn đề nếu đối phó với những người dùng nhấn mạnh vào chạy ra khỏi phiên bản cập nhật của một trình duyệt tự động cập nhật hiện đại, đó là một sự kết hợp bất thường.)
Bây giờ tin xấu: bạn không thể đặt tiêu đề trên các yêu cầu EventSource. Bạn sẽ cần phải quay trở lại để 'tốt XHR ole streaming nếu bạn muốn để có thể thiết lập tiêu đề.
Mặt khác, cookie được gửi, vì vậy nếu thông tin phiên của bạn có thể được gửi bằng cookie thì nó sẽ hoạt động.
Mặt khác, cookie xung đột với CORS; vì vậy nếu bạn cần cả SSE và xác thực với các trang web của bên thứ ba, bạn sẽ bị thất vọng. Bạn phải dự phòng để sử dụng XHR.
Xin lỗi cho các plug trắng trợn, nhưng nguồn thông tin tốt nhất mà tôi biết, trên cả các chủ đề này, là chương 9 của my book on SSE. Đó là chương khó viết nhất :-).
Một cách tiếp cận khác là gửi mã thông báo ủy quyền của bạn thông qua URL và kết hợp với HTTPS, nó sẽ vẫn an toàn khi bị xâm nhập bằng mã thông báo.
- 1. Có một EventSource jQuery không?
- 2. Xử lý lỗi trong EventSource
- 3. Tiêu đề ủy quyền HTTP trong EventSource (Sự kiện đã gửi của máy chủ)
- 4. Thử nghiệm XHR trong Jest
- 5. Bắt lỗi 404 cho XHR
- 6. Tùy chọn jQuery ajax() - xhr
- 7. d3.json, d3.xhr và các vấn đề liên miền chéo
- 8. HTML5 EventSource listener cho tất cả các sự kiện?
- 9. Có thể phân lớp một EventSource trong ETW không?
- 10. Có thể gửi tiêu đề tùy chỉnh với yêu cầu XHR ("Ajax") không?
- 11. Quá trình tải lên XHR là 100% kể từ khi bắt đầu
- 12. Jquery lấy dữ liệu về lỗi XHR
- 13. Đặt điểm ngắt trong XHR trong Chrome
- 14. socket.io - XHR polling vs flashsocket và websocket
- 15. Cách truy cập XHR bằng $ http với Angular?
- 16. CORS withCredentials XHR preflight không đăng Cookies trong Firefox
- 17. Chỉ nên có một đối tượng EventSource cho mỗi ứng dụng?
- 18. XHR Level2 với jQuery để tải lên tệp
- 19. trình duyệt Chrome không gửi 'If-None-Match' cho xhr
- 20. Góc + Ionic tải tất cả nội dung qua XHR
- 21. WebSockets vs XHR cho số lượng lớn dữ liệu
- 22. đề bắt đầu dưới Tomcat
- 23. Đầu đề Angular2/Http (POST)
- 24. Điều gì khiến EventSource kích hoạt lỗi trong tiện ích Chrome của tôi?
- 25. Liệt kê thư mục máy chủ bằng JavaScript XHR
- 26. Làm cách nào để xóa tiêu đề mặc định chỉ cho các yêu cầu XHR cụ thể trong AngularJS?
- 27. Nhận url yêu cầu từ đối tượng xhr
- 28. Trả lại chuyển hướng khi phản hồi yêu cầu XHR
- 29. Cấu hình "xhr-polling" làm gì trong socket.io?
- 30. Safari XHR (AJAX) yêu cầu w/cross-domain redirect không