๐Ÿ“Œ ๊น€์˜ํ•œ ๋‹˜์˜ "๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹" ๊ฐ•์˜ ๋“ฃ๊ณ  ์ •๋ฆฌ

 

๐Ÿ“์บ์‹œ ๊ธฐ๋ณธ ๋™์ž‘

  • ์บ์‹œ๊ฐ€ ์—†์„ ๋•Œ 
    ex) ์ด๋ฏธ์ง€๋ฅผ ์š”์ฒญํ•  ๊ฒฝ์šฐ ์„œ๋ฒ„๋Š” ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ํ—ค๋”(0.1M)์™€ ๋ฐ”๋””์˜ ์ด๋ฏธ์ง€(1.0M)๋ฅผ ํ•ฉ์ณ 1.1M์˜ ์‘๋‹ต์„ ๋ณด๋‚ธ๋‹ค. 
          ์บ์‹œ๊ฐ€ ์—†๋‹ค๋ฉด ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค 1.1M์˜ ์‘๋‹ต์„ ๋ณด๋ƒ„
    • ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ์ด ์—†์–ด๋„ ๊ณ„์† ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋ฐ›์•„์•ผ ํ•œ๋‹ค.
    • ์ธํ„ฐ๋„ท ๋„คํŠธ์›Œํฌ๋Š” ๋งค์šฐ ๋А๋ฆฌ๊ณ  ๋น„์‹ธ๋‹ค + ๋ธŒ๋ผ์šฐ์ € ๋กœ๋”ฉ ์†๋„๊ฐ€ ๋А๋ฆฌ๋‹ค = ๋А๋ฆฐ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜
  • ์บ์‹œ๋ฅผ ์ ์šฉํ•˜๋ฉด
    ex) ์„œ๋ฒ„์—์„œ ์บ์‹œ ์ ์šฉ์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์š”์ฒญ์‹œ ์„œ๋ฒ„๊ฐ€ ์‘๋‹ตํ•  ๋•Œ ์บ์‹œ๊ฐ€ ์œ ํšจํ•œ ์‹œ๊ฐ„์„ ์ง€์ •ํ•˜์—ฌ ํ•ด๋‹น ์š”์ฒญ์— ๋Œ€ํ•œ 
          ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์›น๋ธŒ๋ผ์šฐ์ €๋Š” ๊ทธ ์‘๋‹ต ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์šด๋ฐ›์•„ ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ์— ์ €์žฅํ•œ๋‹ค (์œ ํšจ์‹œ๊ฐ„๋งŒํผ)
          ๋‘๋ฒˆ์งธ ์š”์ฒญ์‹œ ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” ์บ์‹œ๋ถ€ํ„ฐ ๋’ค์ ธ์„œ ์œ ํšจ์‹œ๊ฐ„์ด ๋งŒ๋ฃŒ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์กด์žฌํ•˜๊ณ  ์žˆ์„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.
          ๋‹ค์‹œ ์š”์ฒญ์‹œ ์œ ํšจ์‹œ๊ฐ„ ๋งŒ๋ฃŒ๋˜๋ฉด ๋‹ค์‹œ ๋‹ค์šด๋ฐ›์•„ ๊ธฐ์กด์— ์บ์‹œ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ๊ฐ€์ ธ์˜จ ๊ฒƒ์œผ๋กœ ๋ฎ๋Š”๋‹ค.
    • ๋น„์‹ผ ๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
    • ์บ์‹œ ๊ฐ€๋Šฅ ์‹œ๊ฐ„๋™์•ˆ ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. + ๋ธŒ๋ผ์šฐ์ € ๋กœ๋”ฉ ์†๋„๊ฐ€ ๋งค์šฐ ๋น ๋ฅด๋‹ค = ๋น ๋ฅธ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜
    • ๋งŒ๋ฃŒ๋˜๋ฉด ๋‹ค์‹œ ์กฐํšŒํ•˜๊ณ  ๋‹ค์‹œ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์บ์‹œ๋ฅผ ๊ฐฑ์‹ ํ•œ๋‹ค. 

๊ทธ๋Ÿฐ๋ฐ ์‹œ๊ฐ„๋งŒ ๋งŒ๋ฃŒ๋ฌ์„ ๋ฟ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€ํ•œ๊ฑด ์•„๋‹Œ๋ฐ ๋˜ ๋‹ค์šด๋ฐ›์•„์•ผ ํ•œ๋‹ค?!
์ด๊ฑธ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋งค์ปค๋‹ˆ์ฆ˜์ด ๋ฐ”๋กœ ๊ฒ€์ฆ ํ—ค๋”์ด๋‹ค. 


๐Ÿ“๊ฒ€์ฆ ํ—ค๋”์™€ ์กฐ๊ฑด๋ถ€ ์š”์ฒญ1

์บ์‹œ ๋งŒ๋ฃŒ ํ›„์—๋„ ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ๋งŒ๋ฃŒ๋ฌ๋”๋ผ๋„ ๊ทธ ์บ์‹œ๋ฅผ ์žฌ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹จ, ์›น๋ธŒ๋ผ์šฐ์ € ์บ์‹œ์˜ ๋ฐ์ดํ„ฐ์™€ ์„œ๋ฒ„์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ™๋‹ค๋Š” ์‚ฌ์‹ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•œ๋ฐ, ๊ทธ๊ฒŒ ๊ฒ€์ฆ ํ—ค๋”.

 

  1. ํด๋ผ์ด์–ธํŠธ์˜ ๋ฐ์ดํ„ฐ ์š”์ฒญ
  2. ๊ฒ€์ฆ ํ—ค๋”๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„๊ฐ€ Last-Modified ๊ฐ’์„ ์บ์‹œ ๋งŒ๋ฃŒ์‹œ๊ฐ„๊ณผ ํ•จ๊ป˜ ์ „์†ก
    ex) Last-Modified: 2020๋…„ 11์›” 10์ผ 10:00:00 (๊ฒ€์ฆ ํ—ค๋”)
  3. ์‘๋‹ต ๊ฒฐ๊ณผ๋ฅผ ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์บ์‹œ์— ์ €์žฅ. (๋งŒ๋ฃŒ์‹œ๊ฐ„๊ณผ ์ตœ์ข… ์ˆ˜์ •์ผ ์ •๋ณด ๋˜ํ•œ ๊ฐ™์ด)
  4. ํด๋ผ์ด์–ธํŠธ์˜ ๋ฐ์ดํ„ฐ ์š”์ฒญ์‹œ ๋จผ์ € ์บ์‹œ๋ฅผ ์กฐํšŒํ•˜๊ณ  ๋งŒ๋ฃŒ์‹œ๊ฐ„ ์ดˆ๊ณผํ•œ ๊ฒฝ์šฐ ์บ์‹œ์˜ ์ตœ์ข… ์ˆ˜์ •์ผ์„ ์š”์ฒญ์— ๋„ฃ์–ด ๋ณด๋‚ธ๋‹ค.
    ex) if-modified-since: 2020๋…„ 11์›” 10์ผ 10:00:00 (์กฐ๊ฑด๋ถ€ ํ—ค๋”, ๋งŒ์•ฝ ์ดํ›„๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค๋ฉด?)
  5. ์„œ๋ฒ„๊ฐ€ ์ด๋ฅผ ์„œ๋ฒ„๋‚ด์˜ ์ตœ์ข… ์ˆ˜์ •์ผ๊ณผ ๋น„๊ตํ•ด ๋ดค์„ ๋•Œ ๋™์ผํ•˜๋ฉด ๋ฐ”๋”” ์—†์ด ํ—ค๋” ์ •๋ณด๋งŒ ์žˆ๋Š” 304 Not Modified ์‘๋‹ต์„ ๋ณด๋‚ธ๋‹ค. (ํ—ค๋” ํฌ๊ธฐ ๋งŒํผ์˜ ์šฉ๋Ÿ‰์€ ์ „๋‹ฌ)
    ex) cache-control: max-age=60
          Last-Modified: 2020๋…„ 11์›” 10์ผ 10:00:00
  6. ์ด ์‘๋‹ต์„ ๋ฐ›์œผ๋ฉด ์บ์‹œ ์ปจํŠธ๋กค ๊ฐ’์„ ๊ฐฑ์‹ ์‹œ์ผœ ์บ์‹œ๋ฅผ ๋‹ค์‹œ ์„ธํŒ…. ๊ทธ๋ฆฌ๊ณ  ์ด ์บ์‹œ๋ฅผ ๋ถˆ๋Ÿฌ์™€ ์‚ฌ์šฉํ•œ๋‹ค. 

 

  • ์บ์‹œ ์œ ํšจ์‹œ๊ฐ„ ์ดˆ๊ณผ + ์„œ๋ฒ„ ๋ฐ์ดํ„ฐ ๊ฐฑ์‹  ์—†์Œ ์‹œ
  • 304 Moidified + ํ—ค๋” ๋ฉ”ํƒ€ ์ •๋ณด๋งŒ ์‘๋‹ต(๋ฐ”๋””X)
  • ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„๊ฐ€ ๋ณด๋‚ธ ์‘๋‹ต ํ—ค๋” ์ •๋ณด๋กœ ์บ์‹œ์˜ ๋ฉ”ํƒ€ ์ •๋ณด๋ฅผ ๊ฐฑ์‹ 
  • ํด๋ผ์ด์–ธํŠธ๋Š” ์บ์‹œ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์žฌํ™œ์šฉ
  • ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋„คํŠธ์›Œํฌ ๋‹ค์šด๋กœ๋“œ๋Š” ๋ฐœ์ƒํ•˜๋‚˜ ์šฉ๋Ÿ‰์ด ์ ์€ ํ—ค๋”๋งŒ ๋‹ค์šด๋ฐ›์œผ๋ฏ€๋กœ ๋งค์šฐ ์‹ค์šฉ์ ์ธ ํ•ด๊ฒฐ์ฑ…์ด๋‹ค. 

๐Ÿ“๊ฒ€์ฆ ํ—ค๋”์™€ ์กฐ๊ฑด๋ถ€ ์š”์ฒญ2

  • ๊ฒ€์ฆ ํ—ค๋”
    • ์บ์‹œ ๋ฐ์ดํ„ฐ์™€ ์„œ๋ฒ„ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ™์€์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋ฐ์ดํ„ฐ
    • Last-Modified, ETag
  • ์กฐ๊ฑด๋ถ€ ์š”์ฒญ ํ—ค๋”
    • ๊ฒ€์ฆ ํ—ค๋”๋กœ ์กฐ๊ฑด์— ๋”ฐ๋ฅธ ๋ถ„๊ธฐ
    • If-Modified-Since: Last-Modified ์‚ฌ์šฉ
    • If-None-Match: ETag ์‚ฌ์šฉ
    • ์กฐ๊ฑด์ด ๋งŒ์กฑํ•˜๋ฉด 200 OK
    • ์กฐ๊ฑด์ด ๋งŒ์กฑํ•˜์ง€ ์•Š์œผ๋ฉด 304 Not Modified
  • If-Modified-Since: ์ดํ›„์— ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ๋‹ค๋ฉด?
    • ๋ฐ์ดํ„ฐ ๋ฏธ๋ณ€๊ฒฝ์‹œ (์‹คํŒจ)
      - 304 Not Modified, ํ—ค๋” ๋ฐ์ดํ„ฐ๋งŒ ์ „์†ก (ํ—ค๋” ์šฉ๋Ÿ‰๋งŒํผ ์ „์†ก)
    • ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์‹œ (์„ฑ๊ณต)
      - 200 OK, ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์ „์†ก (ํ—ค๋” + ๋ฐ”๋”” ์šฉ๋Ÿ‰ ์ „์†ก)
  • Last-Modified, If-Modified-Since ๋‹จ์ 
    • 1์ดˆ ๋ฏธ๋งŒ(0.x์ดˆ) ๋‹จ์œ„๋กœ ์บ์‹œ ์กฐ์ •์ด ๋ถˆ๊ฐ€๋Šฅ (์ตœ์†Œ ๋‹จ์œ„๊ฐ€ ์ดˆ๋ผ์„œ)
    • ๋‚ ์งœ ๊ธฐ๋ฐ˜์˜ ๋กœ์ง ์‚ฌ์šฉ
    • ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•ด์„œ ๋‚ ์งœ๊ฐ€ ๋‹ค๋ฅด์ง€๋งŒ, ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•ด์„œ ๋ฐ์ดํ„ฐ ๊ฒฐ๊ณผ๊ฐ€ ๋˜‘๊ฐ™์€ ๊ฒฝ์šฐ๋„ ์ „์ฒด ๋‹ค์šด๋กœ๋“œ 
    • ์„œ๋ฒ„์—์„œ ์ตœ์ข… ์ˆ˜์ •์ผ์ด ์•„๋‹ˆ๋ผ ๋ณ„๋„์˜ ์บ์‹œ ๋กœ์ง์„ ๊ด€๋ฆฌํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ์‚ฌ์šฉ ๋ถˆ๊ฐ€
      (ex. ์ŠคํŽ˜์ด์Šค๋‚˜ ์ฃผ์„์ฒ˜๋Ÿผ ํฌ๊ฒŒ ์˜ํ–ฅ์ด ์—†๋Š” ๋ณ€๊ฒฝ์€ ๋ฌด์‹œํ•˜๊ณ  ์บ์‹œ ์œ ์ง€ ์›ํ•˜๋Š” ๊ฒฝ์šฐ)

      ์ด๋Ÿฐ ๊ฒฝ์šฐ ์ด๊ฑธ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ETag!
  • ETag, If-None-Match 
    • ETag(Entity Tag)
    • ์บ์‹œ์šฉ ๋ฐ์ดํ„ฐ์— ์ž„์˜์˜ ๊ณ ์œ ํ•œ ๋ฒ„์ „ ์ด๋ฆ„์„ ๋‹ฌ์•„๋‘  (ex. ETag: "v1.0" , ETag: "a2jiodwjekjl3")
    • ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ์ด ์ด๋ฆ„์„ ๋ฐ”๊พธ์–ด์„œ ๋ณ€๊ฒฝ (Hash๋ฅผ ๋‹ค์‹œ ์ƒ์„ฑ, ๋งŒ์•ฝ ์ปจํ…์ธ ๊ฐ€ ๋™์ผํ•˜๋ฉด ๋™์ผํ•œ Hash๊ฐ’ ๋‚˜์˜ด) 
    • ์š”์ฒญ์‹œ ETag๋ฅผ ๋ณด๋‚ด์–ด ๊ฐ™์œผ๋ฉด ์œ ์ง€, ๋‹ค๋ฅด๋ฉด ๋‹ค์‹œ ๋‹ค์šด๋กœ๋“œ 
    • ์‚ฌ์šฉ ๊ณผ์ •์€ Last-Modified, If-Modified-Since๊ณผ ๋™์ผํ•˜๋ฉฐ ์‹คํŒจ์‹œ(๋ฏธ๋ณ€๊ฒฝ) 304 Not Modified, ์„ฑ๊ณต์‹œ(๋ณ€๊ฒฝ) 200 OK

    • ์บ์‹œ ์ œ์–ด ๋กœ์ง์„ ์„œ๋ฒ„์—์„œ ์™„์ „ํžˆ ๊ด€๋ฆฌ (ํด๋ผ์ด์–ธํŠธ๋Š” ์บ์‹œ ๋งค์ปค๋‹ˆ์ฆ˜์„ ๋ชจ๋ฅธ๋‹ค)
    • ํด๋ผ์ด์–ธํŠธ๋Š” ๋‹จ์ˆœํžˆ ์ด ๊ฐ’์„ ์„œ๋ฒ„์— ์ œ๊ณต

๐Ÿ“์บ์‹œ์™€ ์กฐ๊ฑด๋ถ€ ์š”์ฒญ ํ—ค๋” ์ •๋ฆฌ

  • ์บ์‹œ ์ œ์–ด ํ—ค๋”
    • Cache-Control: ์บ์‹œ ์ œ์–ด (์ง€๊ธˆ์€ ์ด๊ฑธ๋กœ ๋ชจ๋‘ ๊ฐ€๋Šฅ)
      • ์บ์‹œ ์ง€์‹œ์–ด(directives)
      • Cache-Control: max-age
        - ์บ์‹œ ์œ ํšจ ์‹œ๊ฐ„, ์ดˆ๋‹จ์œ„
      • Cache-Control: no-cache
        - ๋ฐ์ดํ„ฐ๋Š” ์บ์‹œํ•ด๋„ ๋˜์ง€๋งŒ ์บ์‹œ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ• ๋•Œ ํ•ญ์ƒ Origin ์„œ๋ฒ„์— ๊ฒ€์ฆํ•˜๊ณ  ์‚ฌ์šฉ
      • Cache-Control: no-store
        - ๋ฐ์ดํ„ฐ์— ๋ฏผ๊ฐํ•œ ์ •๋ณด๊ฐ€ ์žˆ์œผ๋ฉด ์ €์žฅํ•˜๋ฉด ์•ˆ๋œ๋‹ค๋Š” ํ‘œ์‹œ (๋ฉ”๋ชจ๋ฆฌ์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ์‚ญ์ œ)
    • Pragma: ์บ์‹œ ์ œ์–ด(ํ•˜์œ„ ํ˜ธํ™˜) : HTTP 1.0 
    • Expires: ์บ์‹œ ์œ ํšจ ๊ธฐ๊ฐ„(ํ•˜์œ„ ํ˜ธํ™˜)
      • ์บ์‹œ ๋งŒ๋ฃŒ์ผ ์ง€์ •
      • ๋” ์œ ์—ฐํ•œ Cache-Control: max-age ๊ถŒ์žฅ
      • Cache-Control: max-age ๋ž‘ ๊ฐ™์ด ์‚ฌ์šฉ์‹œ Expires๋Š” ๋ฌด์‹œ๋œ๋‹ค.
  • ๊ฒ€์ฆ ํ—ค๋” (Validator)
    • ETag: "v1.0" , ETag: "a2jiodwjekjl3"
    • Last-Modified: Thu, 04 Jun 2020 07:19:24 GMT
  • ์กฐ๊ฑด๋ถ€ ์š”์ฒญ ํ—ค๋”
    • If-Match, If-None-Match: ETag ๊ฐ’ ์‚ฌ์šฉ
    • If-Modified-Since, If-Unmodified-Since: Last-Modified ๊ฐ’ ์‚ฌ์šฉ

๐Ÿ“ํ”„๋ก์‹œ ์บ์‹œ

  • ์›(Origin) ์„œ๋ฒ„
    ์› ์„œ๋ฒ„์— ์ง์ ‘ ์ ‘๊ทผํ•˜๊ฒŒ ๋˜๋ฉด ๊ฑฐ๋ฆฌ๊ฐ€ ๋ฉ€์ˆ˜๋ก ์†๋„๊ฐ€ ๋А๋ฆฌ๋‹ค
    ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋ก์‹œ ์บ์‹œ ์„œ๋ฒ„๋ฅผ ๋„์ž…

  • ํ”„๋ก์‹œ(Proxy) ์บ์‹œ ์„œ๋ฒ„ 
    ๋ณดํ†ต CDN(Content Delivery Network)์ด๋ฆ„์œผ๋กœ ์„œ๋น„์Šค๋กœ ์ œ๊ณต
    ์›์„œ๋ฒ„๊ฐ€ ์•„๋‹Œ ํ”„๋ก์‹œ ์„œ๋ฒ„(ํด๋ผ์ด์–ธํŠธ์™€ ๊ฐ€๊นŒ์šด ํ”„๋ก์‹œ ์บ์‹œ ์„œ๋ฒ„)์— ๊ฑฐ์ณ ๊ฐ€๊ฒŒ ํ•˜์—ฌ, ํ”„๋ก์‹œ ์„œ๋ฒ„์— ์บ์‹œ๊ฐ€ ์žˆ์œผ๋ฉด ๊ฑฐ๊ธฐ์„œ ์บ์‹œ๋ฅผ ์กฐํšŒํ•ด ๋น ๋ฅธ ์‘๋‹ต์„ ๋ฐ›๊ฒŒ ํ•œ๋‹ค. (์—†์œผ๋ฉด ์›์„œ๋ฒ„ ๋‹ค๋…€์™€์•ผํ•จ)
    - ํ”„๋ก์‹œ ์„œ๋ฒ„์˜ ์บ์‹œ๋ฅผ Public ์บ์‹œ๋ผ ํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ์˜ ์บ์‹œ๋Š” Private ์บ์‹œ๋ผ๊ณ  ํ•œ๋‹ค. 

  • Cache-Control: ๊ธฐํƒ€ 
    • Cache-Control: public
      - ์‘๋‹ต์ด public ์บ์‹œ์— ์ €์žฅ๋˜์–ด๋„ ๋จ
    • Catche-Control: private
      - ์‘๋‹ต์ด ํ•ด๋‹น ์‚ฌ์šฉ์ž๋งŒ์„ ์œ„ํ•œ ๊ฒƒ์ž„, private ์บ์‹œ์— ์ €์žฅํ•ด์•ผ ํ•จ(๊ธฐ๋ณธ๊ฐ’)
    • Cache-Control: s-maxage
      - ํ”„๋ก์‹œ ์บ์‹œ์—๋งŒ ์ ์šฉ๋˜๋Š” max-age
    • Age: 60 (HTTP ํ—ค๋”)
      - ์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„์— ์‘๋‹ต ํ›„ ํ”„๋ก์‹œ ์บ์‹œ ๋‚ด์— ๋จธ๋ฌธ ์‹œ๊ฐ„(์ดˆ)

๐Ÿ“์บ์‹œ ๋ฌดํšจํ™”

  • ํ™•์‹คํ•œ ์บ์‹œ ๋ฌดํšจํ™” ์‘๋‹ต์ด ์กด์žฌ (์บ์‹œ๋ฅผ ์ ์šฉ์•ˆํ•ด๋„ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ž„์˜๋กœ ์บ์‹œํ•ด๋ฒ„๋ฆฌ๊ณ  ํ•˜๊ธฐ ๋•Œ๋ฌธ)
  • Cache-Control
    • Cache-Control: no-cache, no-store, must-revalidate (์ด๊ฑธ ๋ชจ๋‘ ๋„ฃ์–ด์ฃผ์–ด์•ผ ๋ฌดํšจํ™”)
      • Cache-Control: no-cache
        - ๋ฐ์ดํ„ฐ๋Š” ์บ์‹œํ•ด๋„ ๋˜์ง€๋งŒ ์บ์‹œ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ• ๋•Œ ํ•ญ์ƒ Origin ์„œ๋ฒ„์— ๊ฒ€์ฆํ•˜๊ณ  ์‚ฌ์šฉ
      • Cache-Control: no-store
        - ๋ฐ์ดํ„ฐ์— ๋ฏผ๊ฐํ•œ ์ •๋ณด๊ฐ€ ์žˆ์œผ๋ฉด ์ €์žฅํ•˜๋ฉด ์•ˆ๋œ๋‹ค๋Š” ํ‘œ์‹œ (๋ฉ”๋ชจ๋ฆฌ์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ์‚ญ์ œ)
      • Cahce-Control: must-revalidate
        - ์บ์‹œ ๋งŒ๋ฃŒํ›„ ์ตœ์ดˆ ์กฐํšŒ์‹œ ์› ์„œ๋ฒ„์— ๊ฒ€์ฆํ•ด์•ผํ•จ
        - ์› ์„œ๋ฒ„ ์ ‘๊ทผ ์‹คํŒจ์‹œ ๋ฐ˜๋“œ์‹œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ด์•ผํ•จ (504 Gateway Timeout)
        - must-revalidate๋Š” ์บ์‹œ ์œ ํšจ ์‹œ๊ฐ„์ด๋ผ๋ฉด ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•จ
        - โ“no-cache๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๊ฑฐ ์™œ ์‚ฌ์šฉ
        no-cache์˜ ๊ฒฝ์šฐ ํ”„๋ก์‹œ ์„œ๋ฒ„์™€ ์› ์„œ๋ฒ„ ์‚ฌ์ด์˜ ์ผ์‹œ์  ์žฅ์• ๊ฐ€ ์ƒ๊ธด ๊ฒฝ์šฐ ํ”„๋ก์‹œ ์„œ๋ฒ„์˜ ์˜ค๋ž˜๋œ ๋ฐ์ดํ„ฐ๋ผ๋„ ๋ณด์—ฌ์ฃผ๋Š” ์„ค์ •๋„ ํ•  ์ˆ˜ ์žˆ๋‹ค. must-revalidate๋Š” ์„œ๋ฒ„ ์‚ฌ์ด ์žฅ์• ์‹œ ๋ฌด์กฐ๊ฑด 504 ์˜ค๋ฅ˜ ์‘๋‹ต
    • Pragma: no-cache (HTTP 1.0 ํ•˜์œ„ ํ˜ธํ™˜, HTTP 1.0 ์š”์ฒญ ๊ฒฝ์šฐ๋ฅผ ๋ฌดํšจํ™” ์œ„ํ•ด)

+ Recent posts