Sau khi nâng cấp lên 21.10, tôi gặp sự cố CORS với trang HTML sử dụng tìm nạp Javascript() để NHẬN trang từ máy chủ. Cùng một trang không gặp sự cố với Chromium dưới 21.10 (hoặc Firefox hoặc Safari trên OSX).
Nhìn vào thanh tra, sự khác biệt dường như là "Snap Firefox":
- có một giá trị khác cho tiêu đề REFERER (nó được rút ngắn thành http://127.0.0.1:5000/ thay vì http://localhost:5000/resource/527706d7e339cac99572cad1b7b789c8 trong các trình duyệt đang hoạt động);
- có một tiêu đề ORIGIN có giá trị http://127.0.0.1:5000, không có trong các trình duyệt đang hoạt động
Bất kỳ ai cũng có bất kỳ ý tưởng nào tại sao Snap Firefox lại làm điều này và cách giải quyết nó?
CẬP NHẬT/ĐÁP:
tl/dr; nó rút ra sự khác biệt giữa 127.0.0.1 và localhost, nhưng với một sự thay đổi.
Trước hết, lỗi CORS chỉ xảy ra khi 127.0.0.1 chứ không xảy ra với localhost. Tôi đã sử dụng máy chủ cục bộ trong quá trình phát triển, vì vậy tôi không nhận thức được sự khác biệt này.
Thứ hai, Snap Firefox không thích "localhost:5000". Đó là lý do tại sao tôi phát hiện ra rằng trang này không hoạt động.Nó thực sự muốn bạn thêm giao thức -> "http://localhost:5000" hoạt động. Rõ ràng, không có quy tắc nào nói rằng máy chủ cục bộ phải phân giải thành http://localhost, vì vậy Snap Firefox không sai.
Tuy nhiên, Firefox trên OS X làm chấp nhận "localhost:5000" (bằng tiền tố tự động http://) - giống như Safari trên OS X hoặc Chromium trên Ubuntu. Có vẻ như Snap Firefox là ứng dụng duy nhất hiện có không phải thêm chuỗi http://. Và tôi khá chắc chắn rằng đây là sự thay đổi giữa Ubuntu 20.04 và 20.10.
Để đảm bảo tính nhất quán, tôi cho rằng Snap Firefox nên hoàn nguyên về hành vi cũ (phù hợp với OS X Firefox), nhưng có thể có những lý do chính đáng để không làm điều đó.