Lỗi 415: Loại phương tiện không được hỗ trợ
Lỗi 415 xảy ra khi máy chủ không nhận diện được định dạng tệp trong yêu cầu. Kiểm tra các tiêu đề 'Content-Type' và 'Content-Encoding', cũng như tiêu đề 'Accept' ở phía máy khách. Hãy chú ý đến cú pháp để phát hiện lỗi chính tả.
Các bước thực hiện
Nguyên nhân gây ra lỗi
-
Tiêu đề 'Content-Type' không chính xác. Nếu nội dung trong yêu cầu không khớp với tiêu đề 'Content-Type', có thể bạn sẽ nhận được mã lỗi 415. Khách hàng cần đảm bảo tiêu đề 'Content-Type' xác định đúng loại tệp hoặc tệp phương tiện đang được gửi. Việc sửa lỗi này có thể yêu cầu một số kỹ năng lập trình.
-
Máy chủ không hỗ trợ loại phương tiện. Máy chủ có thể không được cấu hình để xử lý loại tệp đang được gửi trong yêu cầu. Bạn có thể cần điều chỉnh cài đặt của máy chủ hoặc ứng dụng để cho phép nó chấp nhận các tệp đang được gửi.
-
Tiêu đề 'Content-Encoding' không chính xác. Tiêu đề này liệt kê tất cả các cách mà dữ liệu có thể được nén hoặc đóng gói để máy chủ biết cách giải nén dữ liệu. Nếu tiêu đề 'Content-Encoding' không đúng, máy chủ sẽ trả về lỗi 415.
-
Tiêu đề 'Accept' của khách hàng sai. Đây là vấn đề xảy ra ở phía khách hàng. Nếu khách hàng thiếu tiêu đề 'Accept' hoặc chỉ định một loại phương tiện mà máy chủ không thể xử lý và trả về, bạn sẽ nhận được lỗi 415.
Cách khắc phục lỗi
-
Xác định nguồn gốc của lỗi. Bạn có thể kiểm tra nhật ký máy chủ hoặc sử dụng công cụ phát triển trong trình duyệt web để xem các tiêu đề 'Content-Type' và loại tệp đang được gửi trong các yêu cầu thất bại. Bạn cũng có thể sử dụng công cụ như Sitechecker.pro để kiểm tra mã của mình.
-
Đảm bảo các tiêu đề 'Content-Type' là chính xác. Kiểm tra xem các tiêu đề 'Content-Type' trong yêu cầu của bạn có đúng không. Ví dụ, nếu bạn đang gửi tệp JSON, tiêu đề nên ghi là 'Content-Type: application/;'. Nếu là tệp hình ảnh, tiêu đề nên ghi như 'Content-Type: image/jpeg;'. Nếu là tệp văn bản hoặc HTML, tiêu đề nên ghi là 'Content-Type: text/html; charset=UTF-8;'.
-
Kiểm tra các tiêu đề 'Content-Encoding'. Đảm bảo rằng script yêu cầu của bạn không thiếu các tiêu đề 'Content-Encoding'. Hãy chắc chắn rằng chúng có mã hóa đúng (ví dụ: 'gzip', 'br').
-
Kiểm tra cú pháp của mã của bạn. Đảm bảo không có lỗi chính tả trong script của bạn ở phía khách hàng hoặc máy chủ. Ví dụ, nếu tiêu đề ghi 'charset=UTF8' thay vì 'charset=UTF-8', điều này có thể gây ra lỗi 415. Nó có thể đơn giản như việc sử dụng từ 'header' thay vì 'headers' trong script của bạn.
-
Đảm bảo máy chủ của bạn có thể chấp nhận yêu cầu. Máy chủ của bạn có thể không được cấu hình để chấp nhận định dạng tệp được yêu cầu. Bạn có thể cần điều chỉnh cấu hình máy chủ để cho phép nó chấp nhận định dạng tệp hoặc mã hóa. Nếu đây là vấn đề về mã hóa, bạn có thể cần thêm hoặc điều chỉnh các chỉ thị gzip hoặc kích hoạt các mô-đun cụ thể, chẳng hạn như mod_deflate.
-
Đảm bảo ứng dụng web, CMS hoặc plug-in của bạn được cấu hình để chấp nhận yêu cầu. Nếu bạn đang sử dụng một ứng dụng web, CMS như WordPress, một plug-in hoặc chủ đề WordPress, hãy đảm bảo nó được cấu hình để xử lý loại tệp trong yêu cầu. Bạn có thể cần kiểm tra tài liệu cho ứng dụng web, plug-in hoặc chủ đề và xem cách thêm tiêu đề loại nội dung mới. Nếu bạn cần trợ giúp để thực hiện điều này, hãy liên hệ với nhà phát triển.
-
Kiểm tra các tiêu đề 'Accept' ở phía khách hàng. Đảm bảo rằng khách hàng có thể nhận tệp được yêu cầu. Mặc dù ít phổ biến hơn có vấn đề ở phía khách hàng, nhưng điều này vẫn xảy ra. Ví dụ, nếu máy chủ nhận được tệp JSON, tiêu đề 'Accept' của khách hàng nên ghi là 'Accept: application/;'. Nếu máy chủ đang xử lý một tệp văn bản hoặc HTML, tiêu đề của khách hàng nên ghi là 'Accept: text/html;'. Tương tự, nếu máy chủ đang xử lý một tệp hình ảnh, tiêu đề nên ghi 'Accept: image/*;' hoặc điều gì đó tương tự.
-
Kiểm tra ứng dụng hoặc trang web của bạn. Sau khi thực hiện các thay đổi để khắc phục lỗi, hãy kiểm tra ứng dụng hoặc trang web của bạn để đảm bảo nó có thể chấp nhận định dạng tệp được yêu cầu. Nếu các thay đổi thành công, bạn sẽ không nhận được lỗi 415. Nếu vấn đề vẫn tiếp diễn, bạn có thể cần liên hệ với nhà cung cấp dịch vụ lưu trữ máy chủ của mình hoặc tư vấn với một lập trình viên chuyên nghiệp có kinh nghiệm trong các ứng dụng web.