2013-01-24 42 views
8

Tôi không hỗ trợ IE8 trở xuống và dựa trên useragent đã kiểm tra tất cả các yêu cầu được thực hiện từ một trong các trình duyệt này được giới thiệu đến một trang nơi tôi giải thích lý do và hiển thị liên kết đến các trình duyệt được hỗ trợ.Mã trạng thái http thích hợp để cho biết trình duyệt không được hỗ trợ?

Có mã trạng thái HTTP để đi cùng với điều này không? 200 Sẽ không đúng vì người dùng không nhận được trang mà anh ta yêu cầu và 505 (Phiên bản không được hỗ trợ) đề cập đến một phiên bản HTTP lỗi thời, cũng không phải như vậy.

+1

thay vì cố gắng, phát hiện phía trình duyệt hoặc tốt hơn, hiển thị thông điệp cảnh báo hoặc bất kỳ thứ gì chỉ có css nếu IE8 hoặc thấp hơn, bạn không cần script cho điều đó. – mpm

+0

Tôi nghĩ, không có trạng thái phản hồi HTTP đặc biệt cho trường hợp của bạn. 505 - phiên bản HTTP không được hỗ trợ, chẳng hạn như tác nhân web sử dụng HTTP/1.1 nhưng máy chủ HTTP chỉ hỗ trợ HTTP/1.0 –

+1

Bạn có thể sử dụng 402 "yêu cầu thanh toán" và đặt trang quyên góp để thu tiền để thuê nhà phát triển xây dựng hỗ trợ IE8:) – Ray

Trả lời

6

Tôi bỏ phiếu cho

403 Forbidden "Máy chủ hiểu yêu cầu, nhưng từ chối đáp ứng nó"

nhưng không có câu trả lời dứt khoát cho việc này.

+0

Tôi đang ở trên hàng rào với 403, nhưng tôi sẽ quăng cho bạn một phiếu bầu. – Ray

+0

tôi, tôi nghiêng về phía không sử dụng bất kỳ thứ gì. sau khi tất cả trở về một trang hợp lệ –

+0

Tôi nghĩ rằng một số mã sẽ tốt để sử dụng, giống như khi bạn làm một trang 404 tùy chỉnh. Bạn vẫn gắn cờ trạng thái là 404 ngay cả khi bạn đặt nội dung trong nội dung được trả về cho ứng dụng khách. – Ray

0

Tôi sẽ sử dụng: 406 Không được chấp nhận

Lưu ý: Đây là sai lầm về mặt kỹ thuật, bởi vì nó không chính thức là một vấn đề với tiêu đề của Chấp nhận khách hàng, bạn chỉ cần cố gắng để ngăn chặn một trình duyệt cụ thể.

Dù bạn làm gì, hãy đi với mã 4xx. 5xx là dành cho các vấn đề máy chủ, trong khi 4xx là cho các vấn đề của khách hàng - trong trường hợp này không sử dụng một trình duyệt được hỗ trợ.

2

400 Bad Request

Từ here:

BadRequest Tương đương với trạng thái HTTP 400. BadRequest chỉ ra rằng yêu cầu không thể được hiểu bởi máy chủ. BadRequest là được gửi khi không có lỗi nào khác được áp dụng hoặc nếu lỗi chính xác là không xác định hoặc không có mã lỗi riêng.

Các vấn đề liên quan