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] Conditional GET: If-None-Match vs ETag

    Conditional GET với ETag

    Client đã cache tài nguyên kèm ETag. Lần sau, client gửi header If-None-Match: <etag>. Server tính ETag hiện tại của tài nguyên:

    • Nếu trùng ETag client gửi → tài nguyên không đổi → trả 304 Not Modified (không gửi body).
    • Nếu khác → trả 200 OK (gửi body mới).

    Yêu cầu

    Dòng 1: ETag mà client gửi trong If-None-Match (đã gồm nháy kép). Dòng 2: nội dung hiện tại của tài nguyên. Tính ETag hiện tại (MD5, strong) rồi in 304 hoặc 200.

    Ví dụ

    Input:

    "b10a8db164e0754105b7a99be72e3fe5"
    Hello World
    

    ETag hiện tại của Hello World đúng bằng giá trị client gửi → in 304.

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

      Dòng 1: giá trị If-None-Match (gồm nháy kép). Dòng 2: nội dung tài nguyên.

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

      Nội dung tối đa 10000 ký tự.

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

      Một dòng: 304 nếu khớp, ngược lại 200.

    Ví dụ:

    Đầu vào:

    "b10a8db164e0754105b7a99be72e3fe5"
    Hello World
    

    Đầu ra:

    304

    Giải thích:

    ETag hiện tại khớp với If-None-Match nên server trả 304 Not Modified.

    Đang tải editor...