Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Lập trình Web & Backend] Content negotiation theo Accept

    Thương lượng nội dung (content negotiation)

    Server hỗ trợ các định dạng theo header Accept:

    Accept Định dạng trả
    application/json json
    application/xml xml
    text/html html
    text/plain text

    Quy tắc:

    • Nếu Accept khớp một trong các kiểu trên → trả mã 200 và tên định dạng.
    • Nếu Accept là */* → server mặc định dùng json, trả 200 json.
    • Nếu Accept không được hỗ trợ → trả 406 (Not Acceptable).

    Ví dụ

    Input: application/xml → Output: 200 xml

    • Định dạng đầu vào:

      Một dòng chứa giá trị header Accept.

    • Ràng buộc đầu vào:

      Chuỗi Accept dài ≤ 50 ký tự, không chứa tham số q.

    • Định dạng đầu ra:

      Nếu hỗ trợ: 200 <format>. Nếu */*: 200 json. Nếu không hỗ trợ: 406.

    Ví dụ:

    Đầu vào:

    application/xml
    

    Đầu ra:

    200 xml

    Giải thích:

    Accept khớp application/xml nên trả 200 với định dạng xml.

    Đang tải editor...