Latihan 1: HTTP Caching: Cache-Control, ETag, Validation — Web Fundamentals

Latihan 1 dari materi HTTP Caching: Cache-Control, ETag, Validation di Web Fundamentals — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Bikin fungsi handleETag(request, resource) yang berperan sebagai server saat browser melakukan revalidasi.

Aturannya:

  1. Isi If-None-Match bisa satu ETag (v3) atau beberapa dipisah koma (v1, v2, "v3"). Buang spasi di pinggir tiap ETag dan buang tanda kutipnya, jadi "v3" dan v3 dianggap sama.
  2. Kalau salah satunya sama dengan resource.etag, return { status: 304, body: null, etag: resource.etag }.
  3. Selain itu, termasuk kalau header-nya gak ada, return { status: 200, body: resource.body, etag: resource.etag }.

Baris console.log di starter jangan diubah. Kalau fungsinya benar, console mencetak berurutan: 304, null, 304, 200, hello world, 200.

Yang juga dicek, dengan resource lain { etag: 'v9', body: 'z' }: header a, "v9" menghasilkan status 304, dan request tanpa header ({ headers: {} }) menghasilkan body z.

Hint