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] If-None-Match: danh sách ETag và dấu *

    If-None-Match nâng cao

    If-None-Match có thể chứa danh sách ETag cách nhau bởi dấu phẩy, hoặc ký tự đặc biệt * (khớp mọi tài nguyên đang tồn tại).

    Quy tắc trả 304 (cho GET):

    • Nếu If-None-Match: * và tài nguyên tồn tại → 304.
    • Nếu danh sách chứa một ETag khớp (weak comparison) ETag hiện tại → 304.
    • Ngược lại → 200.

    Yêu cầu

    Dòng 1: value If-None-Match (danh sách ETag hoặc *). Dòng 2: ETag hiện tại của server, hoặc - nếu tài nguyên KHÔNG tồn tại. In 304 hoặc 200.

    Ví dụ

    Input:

    "v1", "v2", "v3"
    "v2"
    

    Danh sách chứa "v2" khớp ETag hiện tại → 304.

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

      Dòng 1: If-None-Match (danh sách hoặc *). Dòng 2: ETag server hoặc '-'.

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

      Weak comparison khi so từng ETag. '*' khớp khi tài nguyên tồn tại.

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

      Một dòng: 304 hoặc 200.

    Ví dụ:

    Đầu vào:

    "v1", "v2", "v3"
    "v2"
    

    Đầu ra:

    304

    Giải thích:

    Danh sách chứa "v2" khớp ETag hiện tại nên trả 304.

    Đang tải editor...