Quiz

(1) ์กฐ๊ฑด๋ถ€ ์š”์ฒญ(Conditional Request)์€ ๋Œ€์ƒ ๋ฆฌ์†Œ์Šค์— ๋ฉ”์„œ๋“œ ์˜๋ฏธ๋ก ์„ ์ ์šฉํ•˜๊ธฐ ์ „์— ํ…Œ์ŠคํŠธ๋˜๊ธฐ ์œ„ํ•œ ์ „์ œ์กฐ๊ฑด์„ ๋‚˜ํƒ€๋‚ด๋Š” ํ—ค๋” ํ•„๋“œ๋ฅผ ํ•˜๋‚˜ ์ด์ƒ ํฌํ•จํ•˜๋Š” HTTP ์š”์ฒญ [RFC7231]์ด๋‹ค. ( O / X )

(2) HTTP๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ•ํ•œ ๊ฒ€์‚ฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ( O / X )

(3) ์›น ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ์— ๋ณ€๊ฒฝ์ด ์—†๋‹ค๋ฉด, ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ์„ ๋‹ค์‹œ ์ „์†กํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด ํ—ค๋”์— Last-Modified์™€ ETag๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ( O / X )

(4) ๋‹ค์Œ ์˜ณ์€ ๊ฒƒ์„ ๊ณ ๋ฅด์‹œ์˜ค.

ใ„ฑ. Last-Modified ์ƒ์„ฑ ๊ถŒํ•œ์€ ์„œ๋ฒ„๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋‹ค. ใ„ด. Last-Modified๋Š” Date(๋ฌธ์„œ๊ฐ€ ์„œ๋ฒ„์—์„œ ๋งŒ๋“ค์–ด์ง„ ์‹œ๊ฐ„)๋ณด๋‹ค ๋Šฆ๊ฒŒ ์„ค์ •๋˜๋ฉด ์•ˆ๋œ๋‹ค. ใ„ท. ์„œ๋ฒ„๋Š” ํ•ญ์ƒ Last-Modified ํ—ค๋”๋ฅผ ๋ณด๋‚ด์•ผ ํ•œ๋‹ค. ใ„น. ETag ์ƒ์„ฑ ๊ถŒํ•œ์€ ์„œ๋ฒ„๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋‹ค.

(5) Last-Modified ์˜ ๋™์ž‘ ๊ณผ์ •์œผ๋กœ ํ‹€๋ฆฐ ๋ถ€๋ถ„์€?

  1. ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.

  2. ํด๋ผ์ด์–ธํŠธ์—์„œ๋Š” Last-Modified ์‘๋‹ต ํ—ค๋”๋ฅผ ๋ฐ›๋Š”๋‹ค.

  3. ์š”์ฒญ์— If-Modified-Since ํ—ค๋”์— ์บ์‹œ๋œ ๋งˆ์ง€๋ง‰ ์ˆ˜์ •์ผ์„ ๋ณด๋‚ธ๋‹ค.

  4. ์„œ๋ฒ„์—์„œ If-Modified-Since ํ—ค๋”๋ฅผ ๋ณด๊ณ , ๋ณ€๊ฒฝ ์ผ์‹œ๊ฐ€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ

    -> ๋ฐ”๋””๋ฅผ ์ค€๋‹ค.

    -> Last-Modified ํ—ค๋”์— ์ตœ๊ทผ ๋ณ€๊ฒฝ ์ผ์‹œ ๊ฐ’์„ ์ค€๋‹ค.

  5. ์ตœ๊ทผ ๋ณ€๊ฒฝ ์ผ์‹œ๊ฐ€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฅธ ๊ฒฝ์šฐ

    -> ๋ฐ”๋””๊ฐ€ ์—†๋‹ค.

(6) Etag์˜ ๋™์ž‘ ๊ณผ์ •์ด๋‹ค. [ << ๋นˆ์นธ >> ]์— ๋“ค์–ด๊ฐˆ ์•Œ๋งž์€ ํ—ค๋”๋Š”?

  1. ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.

  2. ์‘๋‹ต ํ—ค๋”์— Etag ๊ฐ’์„ ๋ณด๋‚ธ๋‹ค.

  3. ์š”์ฒญ ๋ฉ”์‹œ์ง€์— ์บ์‹œ๋œ ๋ฌธ์„œ์˜ ETag๊ฐ’์„ If-None-Match ํ—ค๋”์— ๋‹ด์•„ ๋ณด๋‚ธ๋‹ค.

  4. ์„œ๋ฒ„์—์„œ If-None-Match๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์œผ๋ฉด, ์บ์‹œ๋ฅผ ๋ณด๋ผ๋Š” ์˜๋ฏธ๋กœ GET ๋˜๋Š” HEAD์ด๋ฉด [ << ๋นˆ์นธ >> ] ์ƒํƒœ ์ฝ”๋“œ, ๊ธฐํƒ€ ๋ชจ๋“  ์š”์ฒญ ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด [ << ๋นˆ์นธ >> ] ์ƒํƒœ ์ฝ”๋“œ๋กœ ์‘๋‹ต ์‘๋‹ตํ•œ๋‹ค.

  5. ๋ณ€๊ฒฝ๋๋‹ค๋ฉด, 200 ์ƒํƒœ ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ์ƒˆ๋กœ์šด Etag๊ฐ’ ์‘๋‹ต ํ—ค๋”์— ์ „์†กํ•œ๋‹ค.

  6. ๋ธŒ๋ผ์šฐ์ €๋Š” 200์ผ ๊ฒฝ์šฐ ์ƒˆ๋กœ ๋‹ค์šด ๋ฐ›์€ ํ›„ Etag๊ฐ’์„ ๊ฐฑ์‹ ํ•˜๋ฉฐ,

  7. [ << ๋นˆ์นธ >> ], [ << ๋นˆ์นธ >> ] ์ผ ๊ฒฝ์šฐ ์บ์‰ฌ์—์„œ ๋กœ๋“œํ•œ๋‹ค.

(7) Last-Modified์™€ Etag๊ฐ€ ๋™์‹œ์— ์กด์žฌํ•˜๋ฉด Last-Modified์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’๋‹ค. ( O / X )

(8) ๋‹ค์Œ ํ™”์‚ดํ‘œ์— ๋“ค์–ด๊ฐˆ ์ƒํƒœ์ฝ”๋“œ๋Š”?

๋‹ต์•ˆ

(1) ์กฐ๊ฑด๋ถ€ ์š”์ฒญ(Conditional Request)์€ ๋Œ€์ƒ ๋ฆฌ์†Œ์Šค์— ๋ฉ”์„œ๋“œ ์˜๋ฏธ๋ก ์„ ์ ์šฉํ•˜๊ธฐ ์ „์— ํ…Œ์ŠคํŠธ๋˜๊ธฐ ์œ„ํ•œ ์ „์ œ์กฐ๊ฑด์„ ๋‚˜ํƒ€๋‚ด๋Š” ํ—ค๋” ํ•„๋“œ๋ฅผ ํ•˜๋‚˜ ์ด์ƒ ํฌํ•จํ•˜๋Š” HTTP ์š”์ฒญ [RFC7231]์ด๋‹ค. ( O / X )

(2) HTTP๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ•ํ•œ ๊ฒ€์‚ฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ( O / X )

(3) ์›น ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ์— ๋ณ€๊ฒฝ์ด ์—†๋‹ค๋ฉด, ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ์„ ๋‹ค์‹œ ์ „์†กํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด ํ—ค๋”์— Last-Modified์™€ ETag๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ( O / X )

(4) ๋‹ค์Œ ์˜ณ์€ ๊ฒƒ์„ ๊ณ ๋ฅด์‹œ์˜ค.

ใ„ฑ. Last-Modified ์ƒ์„ฑ ๊ถŒํ•œ์€ ์„œ๋ฒ„๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋‹ค. ใ„ด. Last-Modified๋Š” Date(๋ฌธ์„œ๊ฐ€ ์„œ๋ฒ„์—์„œ ๋งŒ๋“ค์–ด์ง„ ์‹œ๊ฐ„)๋ณด๋‹ค ๋Šฆ๊ฒŒ ์„ค์ •๋˜๋ฉด ์•ˆ๋œ๋‹ค. ใ„ท. ์„œ๋ฒ„๋Š” ํ•ญ์ƒ Last-Modified ํ—ค๋”๋ฅผ ๋ณด๋‚ด์•ผ ํ•œ๋‹ค. ใ„น. ETag ์ƒ์„ฑ ๊ถŒํ•œ์€ ์„œ๋ฒ„๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋‹ค.

ใ„ฑ, ใ„ด, ใ„น

(5) Last-Modified ์˜ ๋™์ž‘ ๊ณผ์ •์œผ๋กœ ํ‹€๋ฆฐ ๋ถ€๋ถ„์€?

  1. ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.

  2. ํด๋ผ์ด์–ธํŠธ์—์„œ๋Š” Last-Modified ์‘๋‹ต ํ—ค๋”๋ฅผ ๋ฐ›๋Š”๋‹ค.

  3. ์š”์ฒญ์— If-Modified-Since ํ—ค๋”์— ์บ์‹œ๋œ ๋งˆ์ง€๋ง‰ ์ˆ˜์ •์ผ์„ ๋ณด๋‚ธ๋‹ค.

  4. ์„œ๋ฒ„์—์„œ If-Modified-Since ํ—ค๋”๋ฅผ ๋ณด๊ณ , ๋ณ€๊ฒฝ ์ผ์‹œ๊ฐ€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ

    -> ๋ฐ”๋””๊ฐ€ ์—†๋‹ค

  5. ์ตœ๊ทผ ๋ณ€๊ฒฝ ์ผ์‹œ๊ฐ€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฅธ ๊ฒฝ์šฐ

    -> ๋ฐ”๋””๋ฅผ ์ค€๋‹ค.

    -> Last-Modified ํ—ค๋”์— ์ตœ๊ทผ ๋ณ€๊ฒฝ ์ผ์‹œ ๊ฐ’์„ ์ค€๋‹ค.

(6) Etag์˜ ๋™์ž‘ ๊ณผ์ •์ด๋‹ค. ๋นˆ์นธ์— ๋“ค์–ด๊ฐˆ ์•Œ๋งž์€ ํ—ค๋”๋Š”?

  1. ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.

  2. ์‘๋‹ต ํ—ค๋”์— Etag ๊ฐ’์„ ๋ณด๋‚ธ๋‹ค.

  3. ์š”์ฒญ ๋ฉ”์‹œ์ง€์— ์บ์‹œ๋œ ๋ฌธ์„œ์˜ ETag๊ฐ’์„ If-None-Match ํ—ค๋”์— ๋‹ด์•„ ๋ณด๋‚ธ๋‹ค.

  4. ์„œ๋ฒ„์—์„œ If-None-Match๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์œผ๋ฉด, ์บ์‹œ๋ฅผ ๋ณด๋ผ๋Š” ์˜๋ฏธ๋กœ GET ๋˜๋Š” HEAD์ด๋ฉด 304 (Not Modified) ์ƒํƒœ ์ฝ”๋“œ, ๊ธฐํƒ€ ๋ชจ๋“  ์š”์ฒญ ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด 412 (Precondition Failed) ์ƒํƒœ ์ฝ”๋“œ๋กœ ์‘๋‹ต ์‘๋‹ตํ•œ๋‹ค.

  5. ๋ณ€๊ฒฝ๋๋‹ค๋ฉด, 200 ์ƒํƒœ ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ์ƒˆ๋กœ์šด Etag๊ฐ’ ์‘๋‹ต ํ—ค๋”์— ์ „์†กํ•œ๋‹ค.

  6. ๋ธŒ๋ผ์šฐ์ €๋Š” 200์ผ ๊ฒฝ์šฐ ์ƒˆ๋กœ ๋‹ค์šด ๋ฐ›์€ ํ›„ Etag๊ฐ’์„ ๊ฐฑ์‹ ํ•˜๋ฉฐ,

  7. [ << ๋นˆ์นธ >> ], [ << ๋นˆ์นธ >> ] ์ผ ๊ฒฝ์šฐ ์บ์‰ฌ์—์„œ ๋กœ๋“œํ•œ๋‹ค.

(7) Last-Modified์™€ Etag๊ฐ€ ๋™์‹œ์— ์กด์žฌํ•˜๋ฉด Last-Modified์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’๋‹ค. ( O / X )

(8) ๋‹ค์Œ ํ™”์‚ดํ‘œ์— ๋“ค์–ด๊ฐˆ ์ƒํƒœ์ฝ”๋“œ๋Š”?

304 (Not Modified)

Last updated