Http Header

๊ณตํ†ต ํ—ค๋”

  • Date : http๋ฉ”์„ธ์ง€๊ฐ€ ๋งŒ๋“ค์–ด์ง„ ์‹œ๊ฐ„

  • Connection : HTTP/1.1์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ keep-alive์ด๊ณ  HTTP/2์—์„œ๋Š” ์‚ฌ๋ผ์ง„ ํ—ค๋”

  • Content-Length : ๋ฉ”์„ธ์ง€์˜ ๋ณธ๋ฌธ(payload,body)์˜ ํฌ๊ธฐ๋ฅผ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ํ‘œ์‹œ

  • Content-Type : ์ปจํ…์ธ ์˜ ํƒ€์ž…(MIME)๊ณผ ์ธ์ฝ”๋”ฉ ์ •๋ณด

  • Content-Language : ์‚ฌ์šฉ์ž์˜ ์–ธ์–ด (ko-KR..)

  • Content-Encoding : ๋ฏธ๋””์–ด ํƒ€์ž…์„ ์••์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ํ—ค๋” (์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ–ˆ๋Š”๊ฐ€)

  • Cach-Control : ์บ์‹ฑ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ •์˜ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ

    • ์ผ๋ฐ˜์ ์œผ๋กœ GET ์š”์ฒญ์— ์‚ฌ์šฉ๋˜๋ฉฐ, ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด ๋‘๊ณ  ์บ์‹ฑํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์›น์—์„œ๋„ ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

    ๋งŽ์€ ๋ถ€๊ฐ€ ์†์„ฑ ๋ณด๊ธฐ

Request ํ—ค๋”

  • Host : ์„œ๋ฒ„์˜ ๋„๋ฉ”์ธ ๋„ค์ž„

  • User-Agent : ์‚ฌ์šฉ์ž์˜ ํด๋ผ์ด์–ธํŠธ (๋ธŒ๋ผ์šฐ์ €)

  • Accept : ๋ฐ›๊ณ ์‹ถ์€ ๋ฐ์ดํ„ฐ ํƒ€์ž…

    • Accept-Encoding

    • Accpet-Charset

    • Accept-Language...

  • Authorization : ์ธ์ฆ ํ† ํฐ์„ ์„œ๋ฒ„๋กœ ๋ณด๋‚ผ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ—ค๋”

  • Origin : ์–ด๋–ค url์—์„œ ์š”์ฒญ์„ ๋ณด๋ƒˆ๋Š”๊ฐ€ ( CSRF๊ณต๊ฒฉ ๋ฐฉ์ง€ )

  • Referer : ์š”์ฒญ์„ ๋ณด๋‚ธ ํŽ˜์ด์ง€ ์ด์ „์˜ ํŽ˜์ด์ง€ ( CSRF๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ )

    ์ด๋ฅผ ์ด์šฉํ•ด ์• ๋„๋ฆฌํ‹ฑ์Šค ๊ฐ™์€ ๊ณณ์—์„œ ์–ด๋””์—์„œ ์ ‘๊ทผํ–ˆ๋Š”์ง€ ๊ฒ€์‚ฌ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

  • If-None-Match : ์š”์ฒญ ์ธก์—์„œ ETag๊ฐ€ ๋‹ฌ๋ผ์กŒ๋Š”์ง€ ๊ฒ€์‚ฌ๋ฅผ ์š”์ฒญํ•˜๋Š” ํƒœ๊ทธ

  • Cookie : ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„ํ•œํ…Œ ์ฟ ํ‚ค๋ฅผ ๋ณด๋‚ด์ค„๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ•„๋“œ

    • ๊ตฌ์กฐ

      Cookie : key=value; key= value;...

Response ํ—ค๋”

  • Access-Control-Allow-Origin : ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์ฃผ์†Œ๋ฅผ ๊ฒ€์‚ฌํ•˜๊ธฐ ์œ„ํ•œ ํ—ค๋”๋กœ ์ด์™€ ์š”์ฒญํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ์ฃผ์†Œ๊ฐ€ ๋‹ค๋ฅด๋ฉด CORS ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

    ์„œ๋ฒ„์— ์ ‘๊ทผํ•˜๋Š” ์š”์ฒญ์„ ๊ฒ€์‚ฌ

  • Allow : ์œ„์˜ ํ—ค๋” ํ•„๋“œ์™€ ๋น„์Šทํ•˜๋‚˜ CORS์š”์ฒญ ๋ง๊ณ ๋„ ๊ฒ€์‚ฌํ•œ๋‹ค. (ex. ์š”์ฒญ ๋ฉ”์„œ๋“œ )

  • Content-Disposition : ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์‘๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ํ‘œ์‹œํ•ด์•ผ ํ• ์ง€ ์•Œ๋ ค์ฃผ๋Š” ํ—ค๋” (ex. inline = ์›นํŽ˜์ด์ง€, attachment = download filname='filename.ํ™•์žฅ์ž' ๋“ฑ)

  • Location : 201,300๋ฒˆ๋Œ€ ์‘๋‹ต์ด ์™”์„๋•Œ ์–ด๋–ค ํŽ˜์ด์ง€๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธํ•˜๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ํ—ค๋”

  • Content-Security-Policy : css๋‚˜ script๊ฐ™์ด ์™ธ๋ถ€ ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ฌ๋•Œ ํŠน์ • ํŒŒ์ผ,ํŠน์ • ํ”„๋กœํ† ์ฝœ,ํŠน์ • ๊ฒฝ๋กœ์—์„œ๋งŒ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ์„ค์ • ํ•˜๋Š” ๊ฒƒ (XSS๊ณต๊ฒฉ ๋ฐฉ์ง€)

  • Age : ์บ์‹œ์„ค์ • ์‹œ๊ฐ„(max-age)์œผ๋กœ ๋ถ€ํ„ฐ ์–ผ๋งˆ๋‚˜ ์ง€๋‚ฌ๋Š”์ง€ ํ‘œ์‹œ

  • Expires : ์บ์‹œ์™€ ๋ณ„๊ฐœ๋กœ ํ•ด๋‹น ์ปจํ…์ธ ๊ฐ€ ์–ธ์ œ ๋งŒ๋ฃŒ๋˜๋Š”์ง€ ํ‘œ์‹œํ•˜๋ฉฐ, cache-control์˜ max-age๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ์ด ํ—ค๋”๋Š” ๋ฌด์‹œ๋œ๋‹ค.

  • ETag : Http ์ปจํ…์ธ ๊ฐ€ ๋ฐ”๋€Œ์—ˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๊ธฐ ์œ„ํ•œ ํƒœ๊ทธ (๋ฐ”๋€Œ๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” ์บ์‹œ๋ฅผ ์ง€์šฐ๊ณ  ์ƒˆ๋กœ ์—…๋ฐ์ดํŠธ)

  • Set-Cookie : ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธํ•œํ…Œ ์ €์žฅํ•  ์ฟ ํ‚ค ๋ฐ์ดํ„ฐ๋ฅผ ๋„˜๊ฒจ์ฃผ๊ธฐ์œ„ํ•œ ํ•„๋“œ

    • ๊ตฌ์กฐ

      Set-Cookie : key=value; options
    • ์˜ต์…˜

      • Expires : ์ฟ ํ‚ค ๋งŒ๋ฃŒ ๋‚ ์งœ

      • Max-Age : ์ฟ ํ‚ค ์ˆ˜๋ช… (Expires ๋ฌด์‹œ)

      • Secure : https์—์„œ๋งŒ ์ฟ ํ‚ค ์ „์†ก

      • HttpOnly : js์—์„œ ์ฟ ํ‚ค ์ ‘๊ทผ ๋ถˆ๊ฐ€

      • Domain : ๋„๋ฉ”์ธ์ด ์ผ์น˜ ํ•˜๋Š” ์š”์ฒญ์—๋งŒ ์ฟ ํ‚ค ์ „์†ก (ex. gowoonsori.com)

      • Path : path์˜ต์…˜์„ ์„ค์ •ํ•˜๊ณ  '/directory'(url)์„ ์ฃผ๋ฉด ํ•ด๋‹น url๊ณผ ํ•˜์œ„ ๋„๋ฉ”์ธ์—์„œ๋งŒ ์ฟ ํ‚ค๊ฐ€ ์กด์žฌ (ex. gowoonsori.com/example/name)

Last updated