All Articles

HTTP

HTTP

Protocol์˜ ํ•œ ์ข…๋ฅ˜์ธ http์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

Table of Contents

๋งํฌ๋ฅผ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ๋‚ด์šฉ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค

About HTTP

Protocol HTTP : HyperText Transfer Protocol
HTTP๋Š” HyperText๋“ค์˜ ๋ฌธ์„œ๋“ค์„ ์ฃผ๊ณ  ๋ฐ›๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.
HTTP๊ฐ€ ์ฒ˜์Œ ๋งŒ๋“ค์–ด ์กŒ์„ ๋•Œ๋Š” HTML๋งŒ์„ ์ „์†กํ•˜๊ณ ์ž ํ•˜์˜€์œผ๋‚˜ ์‹œ๊ฐ„์ด ํ๋ฅด๋ฉด์„œ ๋‹ค๋ฅธ ๋ชจ๋“  ์ข…๋ฃŒ์˜ ๋ฆฌ์†Œ์Šค๋“ค์„ ์ „์†กํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

HTTP์˜ ์šฉ์–ด๋ฅผ ๋ถ„์„ํ•ด๋ณด์ž
HyperText โ†’ ํ•˜์ดํผํ…์ŠคํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ
   * HyperText๋Š” ํ•œ ๋ฌธ์„œ๊ฐ€ ๋˜ ๋‹ค๋ฅธ ๋ฌธ์„œ์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.
Transfer  โ†’ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š”
Protocol  โ†’ ํ†ต์‹  ๊ทœ์•ฝ
   * protocol์€ ์ปดํ“จํ„ฐ์™€ ์ปดํ“จํ„ฐ๊ฐ€ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„๋•Œ ์–ด๋–ป๊ฒŒ ์†Œํ†ตํ• ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ ๊ทœ์น™๊ณผ ์•ฝ์†์„ ๋œปํ•œ๋‹ค.

Protocol
IETF(Internet Engineering Task Force)๋Š” ์›น๋ธŒ๋ผ์šฐ์ €์™€ ์›น์„œ๋ฒ„๊ฐ€ ์„œ๋กœ ํ†ต์‹ ์„ ํ•˜๊ธฐ ์œ„ํ•œ ๊ทœ์•ฝ์„ ์ •ํ•ด ๋†“์•˜๋‹ค. ์ด ๊ทœ์•ฝ์„ HTTP๋ผ ๋ถ€๋ฅธ๋‹ค. HTTP ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ํ”„๋กœํ† ์ฝœ์ด ์กด์žฌํ•œ๋‹ค. ํŒŒ์ผ์„ ์ „์†กํ• ์‹œ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ๋กœ๋Š” FTP(File Transfer Protocol), SFTP(Secure File Transfer Protocol)๊ฐ€ ์žˆ๊ณ  ์ด๋ฉ”์ผ ์ „์†ก์‹œ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์˜ ์ข…๋ฅ˜๋กœ๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ SMTP(Simple Mail Transfer Protocol), POP3(Post Office Protocol), IMAP(Internet Access Message Protocol)์ด ์žˆ๋‹ค. Protocols

์™œ ํ†ต์‹ ์˜ ๊ทœ์น™์„ ์ •ํ•ด๋†“์•„์•ผ ํ–ˆ์„๊นŒ?
์šฐ๋ฆฌ๋Š” ํƒ€์ธ๊ณผ ์†Œํ†ต์„ ํ•  ๋•Œ ์†์„ ํ”๋“ค๊ฑฐ๋‚˜ ์•…์ˆ˜๋ฅผ ํ•œ๋‹ค. ์‚ฌ๋žŒ์€ ๋น„์–ธ์–ด์  ์š”์†Œ(ํ‘œ์ •, ๋ชธ์ง“, ๋™์ž‘ ๋“ฑ)์™€ ์–ธ์–ด์  ์š”์†Œ(๊ธ€, ๋ง)๋ฅผ ํ†ตํ•˜์—ฌ ์ƒ๋Œ€๋ฐฉ์—๊ฒŒ ์˜์‚ฌ๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‘ ์‚ฌ๋žŒ๊ฐ„์— ์˜จ์ „ํ•œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ด ์ด๋ฃจ์–ด์ง€๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ •ํ•ด์ง„ ๋ฃฐ์„ ๋”ฐ๋ผ์•ผ ํ•œ๋‹ค. ์„œ๋กœ ์•Œ์•„๋“ค์„ ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ์•ผ ํ•˜๋ฉฐ ์ฃผ๊ณ ๋ฐ›๋Š” ๋‹จ์–ด์˜ ๋‚ดํฌ๋œ ์˜๋ฏธ๋ฅผ ์„œ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
Communication

Illustrated by. Allie Mounce

๋น„์–ธ์–ด์ ์ธ ์š”์†Œ๋กœ ๋Œ€ํ™”ํ•  ์ˆ˜ ์—†๋Š” ์ปดํ“จํ„ฐ๋Š” ์ฒ ์ €ํžˆ ์–ธ์–ด์  ์˜์‚ฌ์†Œํ†ต์— ์˜์ง€ํ• ์ˆ˜๋ฐ–์— ์—†๋‹ค. ์†Œํ†ต์ƒ์˜ ๋ฌธ์ œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต(Response & Request)์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋”์šฑ ์ฒด๊ณ„์ ์ด๊ณ  ์—„๊ฒฉํ•œ ๊ทœ์น™์ด ํ•„์š”ํ•˜๋‹ค. '๋ฌด์—‡์„ ์–ด๋– ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์–ธ์ œ ์–ผ๋งˆ๋งŒํผ ์–ด๋–ป๊ฒŒ ํ†ต์‹ ํ•  ๊ฒƒ์ธ๊ฐ€'์— ๊ด€ํ•œ ๊ทœ์น™์„ ๋ฏธ๋ฆฌ ์ •ํ•ด๋‘๊ณ  ๋ฃฐ์„ ๋”ฐ๋ฆ„์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

  • ํ†ต์‹ ์˜ ๊ธฐ๋ณธ ์ „์†ก ๋‹จ์œ„๋Š” ์–ผ๋งˆ๋กœ ํ•  ๊ฒƒ์ธ๊ฐ€?
  • ์–ด๋Š์ •๋„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก ์†๋„๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ๊ฐ€?
  • ์–ด๋–ค character set์„ ์ด์šฉํ•  ๊ฒƒ์ธ๊ฐ€?
  • etc

Return to the ToC

HTTP Version

๊ฐ Version์˜ ํŠน์ง•์„ ํ‘œ๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹จํžˆ ์‚ดํŽด๋ณด์ž.
* 1.1๊ณผ 2.0, ๊ทธ๋ฆฌ๊ณ  3.0์— ๋Œ€ํ•œ ์ฐจ์ด์ ์€ ๋‹ค๋ฅธ ํฌ์ŠคํŒ…์—์„œ ์ž์„ธํžˆ ๋‹ค๋ฃฌ๋‹ค.

VERSIONYEARABOUT
0.9
1991 * ๊ฐ„๋‹จํ•œ HTML ๊ฐ์ฒด๋ฅผ ๋ฐ›์•„์˜ค๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง
* GET ๋ฉ”์„œ๋“œ๋งŒ ์ง€์›
* ๊ฒฐํ•จ์ด ๋งŽ์€ ๋ชจ๋ธ
* ํ—ค๋”, ๋ฒ„์ „ ๋ฒˆํ˜ธ ๋น„์ง€์›
1.0
1996 * Header ์ถ”๊ฐ€
* HEAD, POST ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€
* ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ๊ฐ์ฒด ์ฒ˜๋ฆฌ ์ถ”๊ฐ€
1.0+
  * Keep-alive connection ์ถ”๊ฐ€
* ๊ฐ€์ƒ ํ˜ธ์ŠคํŒ… ์ง€์› ์‹œ์ž‘
1.1
1997 * ์„ค๊ณ„ ๊ฒฐํ•จ ๊ต์ •
* PUT, DELETE, TRACE, OPTIONS ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€
* ์ž˜๋ชป๋œ ๊ธฐ๋Šฅ ์ œ๊ฑฐ
* ๋ณต์žกํ•ด์ง„ ์›น์•ฑ๊ณผ ๋ฐฐํฌ๋ฅผ ์ง€์›
* ํ•œ ์—ฐ๊ฒฐ๋‹น ํ•˜๋‚˜์˜ ์š”์ฒญ๋งŒ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ (๋™์‹œ ์ „์†ก ๋ถˆ๊ฐ€)
2.0
2015 * SPDY ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ฐ˜
3.0
2018 * ์›นํŽ˜์ด์ง€ ๋กœ๋”ฉ ์†๋„ ๊ฐœ์„ 
* UDP ๊ธฐ๋ฐ˜ ํ”„๋กœํ† ์ฝœ

Return to the ToC

HTTP Structure

"๋งํ•˜๊ธฐ์˜ ๋ฐ˜๋Œ€๋Š” ๋“ฃ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.
๋งํ•˜๊ธฐ์˜ ๋ฐ˜๋Œ€๋Š” ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค."
-๋ ˆ๋ณด๋น„์ธ -

HTTP Request Response
Woman Illustrated by. ะะฝะฝะฐ ะšะพะฝะตะฒะฐ

HTTP ํ†ต์‹  ๋ฐฉ์‹์€ ์š”์ฒญ(Response), ์‘๋‹ต(Request)์˜ ๊ตฌ์กฐ๋ฅผ ๊ฐ–๋Š”๋‹ค. ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์ชฝ์„ ํด๋ผ์ด์–ธํŠธ(client) ์‘๋‹ต์„ ๋ณด๋‚ด๋Š” ์ชฝ์„ ์„œ๋ฒ„(server)๋ผ๊ณ  ์ง€์นญํ•œ๋‹ค. ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์ง„ Sever๋Š” 24์‹œ ํ•ญ์‹œ ์ผœ์ง„์ฑ„๋กœ Client๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ด๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฐ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•œ ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด ํ•ด๋‹น ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณด๋‚ด์ฃผ๊ณ  ์—†๋‹ค๋ฉด ์˜ค๋ฅ˜ ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋‚ธ๋‹ค.

HTTP Request Response

Client๋Š” ์„œ๋น„์Šค๋ฅผ ์š”์ฒญํ•˜๊ณ  Server๋Š” ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ด์ค€๋‹ค.

ClientServer
์š”์ฒญ์„ ๊ธฐ๋‹ค๋ฆผ
์š”์ฒญ์„ ํ•จ
์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•จ
์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆผ
์‘๋‹ต์„ ๋ณด๋ƒ„
์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•จ

Server๋Š” Client์˜ ์š”์ฒญ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋‹ค๊ฐ€ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๊ฒŒ ๋˜๋ฉด Connection์„ ๋งบ์„์ง€ ๋ง์ง€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ์›์น˜ ์•Š๋Š” ๊ฒฝ์šฐ์—๋Š” ์—ฐ๊ฒฐ์„ ๋Š์–ด๋ฒ„๋ฆฌ์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒฝ์šฐ์—๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์ ‘์†์„ ๋ฐ›์•„๋“ค์ธ๋‹ค. ์š”์ฒญ์„ ๋ฐ›์€ ํ›„์—๋Š” client์—์„œ ๋ณด๋‚ธ HTTP ์š”์ฒญ ๋ฉ”์„ธ์ง€๋ฅผ ์ฝ๊ฒŒ๋œ๋‹ค. ์„œ๋ฒ„๋Š” ๋ฉ”์„ธ์ง€์— ์ ํžŒ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•œ๋‹ค. ์›น์„œ๋ฒ„๋Š” ์ •ํ•ด์ง„ ๊ทœ๊ฒฉ๋Œ€๋กœ HTTP Response ๋ฉ”์„ธ์ง€(Status Code, Header, Body)๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๊ทธ ํ›„, ๋งŒ๋“  ์‘๋‹ต์„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „์†กํ•œ๋‹ค. ๋งˆ๋ฌด๋ฆฌ ๋‹จ๊ณ„๋กœ๋Š” transaction์— ๊ด€ํ•œ ๊ธฐ๋ก์„ ๋กœ๊ทธํŒŒ์ผ์— ๋‚จ๊ธด๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ธฐ๋ก๋˜๋Š” ๋กœ๊ทธ ํ•„๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

Log Fields

  • HTTP Method
  • ์–ด๋–ค ์š”์ฒญ์ด ์–ด๋–ค์ผ์„ ํ–ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋Š” ์ •๋ณด
  • HTTP Version : Client & Server
  • ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ํ†ต์‹ ์‹œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋ฅผ Debugging ํ•˜๊ธฐ ์œ„ํ•ด ์œ ์šฉํ•œ ์ •๋ณด
  • Client๊ฐ€ ์š”์ฒญํ•œ Resource์˜ URL
  • ์–ด๋–ค ํŠน์ • ํŽ˜์ด์ง€๊ฐ€ ์ œ์ผ ์ธ๊ธฐ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋Š” ์ •๋ณด
  • HTTP Status Code
  • ์‘๋‹ต์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ด๋ฃจ์–ด์กŒ๋Š”์ง€, ๋งŒ์•ฝ ์‹คํŒจํ–ˆ๋‹ค๋ฉด ์›์ธ์ด ๋ฌด์—‡์ธ์ง€์— ๊ด€ํ•œ ์ •๋ณด
  • Response & Request's Message size
  • ์–ผ๋งˆ์˜ ๋ฐ”์ดํŠธ๋ฅผ ์•ฑ ์•ˆํŒŽ์œผ๋กœ ์ „์†ก๋˜๊ณ  ์žˆ๋Š”๊ฐ€์— ๋Œ€ํ•œ ์ •๋ณด
  • Transaction์ด ์ผ์–ด๋‚œ ์‹œ๊ฐ„
  • Timestamp : ์š”์ฒญ ๋‚ ์งœ์™€ ์‹œ๊ฐ„
    ๋ฌธ์ œ ๋ฐœ์ƒ์‹œ ๊ทธ ์‹œ๊ฐ„์— ๋ฐ›์€ ์š”์ฒญ์„ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ •๋ณด
  • Referer๊ณผ User-Agent Header ๊ฐ’
* Referer์€ Phillip Hallam-Baker๊ฐ€ ๋‚ธ ์˜คํƒ€์ด๋‹ค. ์ƒํ˜ธ์šด์šฉ์„ฑ(interoperability)์„ ์œ„ํ•ด ํ˜„์žฌ๊นŒ์ง€ ์ •ํ™•ํ•œ ์ฒ ์ž๋กœ ๊ณ ์ณ์ง€์ง€์•Š๊ณ  ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ์˜ ์ƒํ˜ธ์šด์šฉ์„ฑ์€ ํŠน์ • ๋ฒ„์ „์ด ๋‹ค๋ฅธ ๋ฒ„์ „์—์„œ๋„ ๋ฌธ์ œ ์—†์ด ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰, ์ด๋ฏธ ์ˆ˜๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” Referer์„ ์˜ณ๋ฐ”๋ฅธ ๋งž์ถค๋ฒ•์„ ์œ„ํ•ด ์ฒ ์ž๋ฅผ ๋ฐ”๋กœ ์žก๋Š”๋‹ค๋ฉด ์ƒํ˜ธ์šด์šฉ์„ฑ์„ ํ•ด์น˜๊ฒŒ ๋˜๊ธฐ์— ์˜คํƒ€ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
* Log Format์œผ๋กœ๋Š” Common Log Format, Combined Log Format, Netscape Extended Log Format, Squid Proxy Log Format ๋“ฑ์ด ์žˆ๋‹ค.

HTTP Request์™€ HTTP Response๋Š” ๋ชจ๋‘ Start Line, Header, Body๋ผ๋Š” ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋‰œ๋‹ค. ์•„๋ž˜์—์„œ ๊ฐ ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

HTTP Request Structure

Client๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž.

1. Start Line

Start line์€ Method, Request Target, Version์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. HTTP GET Request

Method

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ์ง€์‹œํ•˜๋Š” ๋™์ž‘์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.
๋‹ค์–‘ํ•œ Method๊ฐ€ ์žˆ์ง€๋งŒ ์ œ์ผ ์ž์ฃผ ์“ฐ๋Š” ๋ฉ”์„œ๋“œ๋Š” GET๊ณผ POST์ด๋‹ค. GET์€ ์„œ๋ฒ„์—์„œ ๋ฌธ์„œ๋ฅผ ๊ฐ€์ ธ์˜ค๋„๋ก ์ง€์‹œํ•˜๋Š” Method์ด๋‹ค. POST๋Š” ์„œ๋ฒ„์—๊ฒŒ ์ฒ˜๋ฆฌํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ์šฉ๋„๋กœ ์“ฐ์ธ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— GET์—๋Š” ๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ์ด ์—†์ง€๋งŒ POST๋Š” ๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ(์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋ฐ์ดํ„ฐ)์„ ํ•จ๊ป˜ ๋ณด๋‚ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

Request Target

Request๊ฐ€ ๋ณด๋‚ด์งˆ Target์ด๋‹ค. URL์ด๋‚˜ ํ”„๋กœํ† ์ฝœ์˜ ์ ˆ๋Œ€ ๊ฒฝ๋กœ, ํฌํŠธ, ๋„๋ฉ”์ธ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. Request Target์€ ๋ฉ”์„œ๋“œ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋ฅผ ์ง€๋‹Œ๋‹ค.
* URI, URL, URN์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์•Œ๊ณ ์‹ถ๋‹ค๋ฉด ์—ฌ๊ธฐ๋ฅผ ํด๋ฆญํ•˜์ž

Version

ํ•ด๋‹น ๋ฉ”์„ธ์ง€์—์„œ ์‚ฌ์šฉ์ค‘์ธ HTTP์˜ Version์ด ๊ธฐ์ˆ ๋œ๋‹ค.
Version์— ๋”ฐ๋ผ ๋ฉ”์„ธ์ง€ ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค๋ฅด๋‹ค. ๋งŒ์•ฝ Request์˜ Start line์ด HTTP/2.0์œผ๋กœ ์ ํ˜€์žˆ๋‹ค๋ฉด ํด๋ผ์ด์–ธํŠธ๊ฐ€ 2.0๊นŒ์ง€ ์•Œ์•„๋“ค์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

2. Headers

Headers๋Š” ํ‚ค(Key):๊ฐ’(Value) ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, 0์ค„์ด๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ์ค„๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. HTTP GET Request Header Headers์˜ ์ข…๋ฅ˜๋กœ๋Š” General Header, Request Header, Response Header, Entity Header, Extension Header๊ฐ€ ์žˆ๋‹ค.
* Extension Header๋Š” ๋‹ค๋ฃจ์ง€ ์•Š๊ฒ ๋‹ค.
* Response Header๋Š” ์•„๋ž˜ HTTP Response Request๋ถ€๋ถ„์—์„œ ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

General Header ์ผ๋ฐ˜ ํ—ค๋”

์š”์ฒญ๊ณผ ์‘๋‹ต์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ—ค๋”์ด๋‹ค.

General
HEADERNOTECODE
Cache-Control * ์บ์‹œ ์ง€์‹œ์ž
* ๊ฐ์ฒด๊ฐ€ ์–ด๋–ป๊ฒŒ ์บ์‹œ๋  ๊ฒƒ์ธ๊ฐ€์— ๋Œ€ํ•œ ์ •๋ณด
Cache-Control : no-cache
Connection * Keep-alive Connection ํ™•์žฅ์„ ์ง€์›ํ•˜๋Š” HTTP/1.0๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๊ธฐ ์‹œ์ž‘
* ์ฃผ๋กœ ํ”„๋ฝ์‹œ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋จ
* close๋ผ๋Š” ๊ฐ’์„ ์ง€๋…”๋‹ค๋ฉด ์‘๋‹ต์ด ์™„๋ฃŒ๋œ ํ›„ ์—ฐ๊ฒฐ์„ ๋‹ซ์„๊ฒƒ์ด๋ผ๋Š” ์˜๋ฏธ.
connection : close
Date * ๋ฉ”์„ธ์ง€๊ฐ€ ์ƒ์„ฑ๋œ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์— ๊ด€ํ•œ ์ •๋ณด Date : Friday, 09-Aug-19 11:11:11 GMT
Proxy-Connection * Client์™€ Proxy์˜ ์ปจ๋„ฅ์…˜์— ๋Œ€ํ•œ ์˜ต์…˜์„ ๋ช…์‹œํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„
* Connection Header๊ฐ€ Proxy๋ฅผ ํ†ต๊ณผํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์„ Client๊ฐ€ ๋ฏธ๋ฆฌ ์•ˆ๋‹ค๋ฉด ๋‹จ์ˆœํžˆ Connection์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  Proxy-Connection ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค
* ๋‹จ์ผ ํ”„๋ฝ์‹œ์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ
Proxy-Connection : Close
Trailer * ๋ฉ”์„ธ์ง€์˜ ๋์— ์–ด๋–ค ํ—ค๋”๋“ค์ด ๋‚˜์˜ค๊ฒŒ๋˜๋Š”์ง€ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•œ ์šฉ๋„ Trailer : Content-Length
Transfer-Encoding * HTTP Message๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์ธ์ฝ”๋”ฉ์— ๊ด€ํ•œ ์ •๋ณด
* ์•ˆ์ „ํ•œ ์ „์†ก์„ ์œ„ํ•ด ์–ด๋–ค ์ธ์ฝ”๋”ฉ์— Message์— ์ ์šฉ๋˜์—ˆ๋Š”์ง€ ์ˆ˜์‹ ์ž์—๊ฒŒ ์•Œ๋ ค์ค€๋‹ค
* ์—ฌ๋Ÿฌ ์ธ์ฝ”๋”ฉ์ด ์‚ฌ์šฉ๋˜์—ˆ์„์‹œ ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์—ด
Transfer-Encoding : chunked
Upgrade * Client-Server ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์„ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•œ ์šฉ๋„ Upgrade : HTTP/2.0
Via * ๋ฉ”์„ธ์ง€๊ฐ€ Proxy์™€ Gateway๋ฅผ ํ†ต๊ณผํ•˜๋Š” ๊ณผ์ •์„ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„
* ๋ฉ”์„ธ์ง€๊ฐ€ ์—ฌ๋Ÿฌ app์„ ํ†ต๊ณผํ•œ๋‹ค๋ฉด, ๊ฐ๊ฐ Via ๋ฌธ์ž์—ด์— ๋ง๋ถ™์—ฌ์ง„๋‹ค.
Via : 1.1 babytiger.com (Baby-Server/1.0)

Request Header ์š”์ฒญ ํ—ค๋”

์š”์ฒญ์— ๋Œ€ํ•œ ๋ถ€๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

Request
HEADERNOTECODE
Accept * Client๊ฐ€ Server์—๊ฒŒ ์ž์‹ ์ด ๋ฐ›์„์ˆ˜ ์žˆ๋Š” Media Type์— ๊ด€ํ•œ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•œ ์šฉ๋„ Accept : text/*, image/gif
Accept-Charset * Client๊ฐ€ Server์—๊ฒŒ ์ž์‹ ์ด ๊ฐ€์žฅ ์„ ํ˜ธํ•˜๋Š” Charset์— ๋Œ€ํ•ด ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•œ ์šฉ๋„ Accept-Charset : iso-latin-1
Accept-Encoding * Client ์ž์‹ ์ด ์–ด๋–ค ์ธ์ฝ”๋”ฉ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”์ง€์— ๊ด€ํ•œ ์ •๋ณด Accept-Encoding : gzip
Accept-Language * ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์–ธ์–ด Accept-Language : en
Expect * Server๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๊ธฐ ์›ํ•˜๋Š”์ง€์— ๊ด€ํ•œ ์ •๋ณด Expect : 100-continue
From * ๋ˆ„๊ตฌ๋กœ๋ถ€ํ„ฐ ์š”์ฒญ์ด ์™”๋Š”๊ฐ€์— ๊ด€ํ•œ ์ •๋ณด
* ๊ฐ’์—๋Š” ํด๋ผ์ด์–ธํŠธ ์œ ์ €์˜ ์ธํ„ฐ๋„ท ์ด๋ฉ”์ผ ์ฃผ์†Œ๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค.
* ํ•˜์ง€๋งŒ ๊ฐœ์ธ์ •๋ณด ์ด์Šˆ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Client ๊ตฌํ˜„์ž๋“ค์€ ์ด ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•  ์‹œ ์œ ์ €๋“ค์—๊ฒŒ ์•Œ๋ ค ์ฃผ์–ด์•ผ ํ•œ๋‹ค.
From : coco@gmail.com
Host * Client๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ด๊ธธ ์›ํ•˜๋Š” ๊ธฐ๊ณ„์˜ ์ธํ„ฐ๋„ท Host Name๊ณผ Port๋ฒˆํ˜ธ๋ฅผ Server์—๊ฒŒ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•œ ์šฉ๋„ Host : www.example.com:80
If-Modified-Since * ์กฐ๊ฑด๋ถ€ ์š”์ฒญ If-Modified-Since : Friday, 09-Aug-19 11:11:11 GMT
If-Match * ์กฐ๊ฑด๋ถ€ ์š”์ฒญ
* Client๋‚˜ ์บ์‹œ๊ฐ€ ์ด๋ฏธ ๊ฐ–๊ณ  ์žˆ๋Š” resource๋ฅผ ๊ฐฑ์‹ ํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„, resource๋Š” ๋ณ€๊ฒฝ์ด ์žˆ์„๋•Œ๋งŒ return
If-Match : "19b19a-457b-31345cc"
If-None-Match * ์กฐ๊ฑด๋ถ€ ์š”์ฒญ
* Client๊ฐ€ ๋ณด๋‚ธ ํƒœ๊ทธ์˜ ๋ชฉ๋ก๊ณผ Server๊ฐ€ ๊ฐ€์ง„ ์—”ํ„ฐํ‹ฐ ํƒœ๊ทธ๋“ค๊ณผ ๋น„๊ตํ•˜์—ฌ ์ƒ์‘ํ•˜๋Š” ํƒœ๊ทธ๊ฐ€ ํ•˜๋‚˜๋„ ์—†์„์‹œ์—๋งŒ return
If-None-Math: "19b19a-457b-31345cc"
If-Range * ์กฐ๊ฑด๋ถ€ ์š”์ฒญ If-Range : "19b19a-457b-31345cc"
If-Unmodified-Since * If-Modified-Since ์˜ ์Œ๋‘ฅ์ด
* ์„œ๋ฒ„๋Š” ์ด ํ—ค๋”์˜ ๋‚ ์งœ ๊ฐ’์„ ๋ณด๊ณ  ๊ทธ ๋‚ ์งœ ์ดํ›„์— ๋ณ€๊ฒฝ์ด ์—†์—ˆ์„ ๋•Œ๋งŒ ๊ทธ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค
If-Unmodified-Since :
Friday, 09-Aug-19 11:11:11 GMT
Max-Forwards * ์š”์ฒญ์ด ์ง€๋‚˜๊ฐ€๋Š” ํ”„๋ฝ์‹œ๋‚˜ ๋‹ค๋ฅธ ์ค‘๊ฐœ์ž๋“ค์˜ ๊ฐœ์ˆ˜๋ฅผ ์ œํ•œํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„
* TRACE Method์— ์˜ํ•ด์„œ๋งŒ ์‚ฌ์šฉ๋จ
* TRACE ์š”์ฒญ์‹œ Max-Forwards ํ—ค๋”๊ฐ€ ์—†๋‹ค๋ฉด ์ „๋‹ฌ ํšŸ์ˆ˜๊ฐ€ ์ œํ•œ์ด ์—†๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธ
Max-Forwards : 5
Pragma * ์ง€์‹œ์ž๋ฅผ ๋ฉ”์„ธ์ง€์™€ ํ•จ๊ป˜ ๋„˜๊ฒจ์ฃผ๊ธฐ ์œ„ํ•œ ์šฉ๋„
* ์ง€์‹œ์ž๋“ค์€ ์บ์‹œ ๋™์ž‘์„ ์ œ์–ด
* Proxy์™€ Gateways๋Š” Pragma ํ—ค๋”๋ฅผ ์ง€์›Œ์„œ๋Š” ์•ˆ๋œ๋‹ค.
Pragma : no-cache
Proxy-Authorization * Proxy๊ฐ€ App์—๊ฒŒ ์ž์‹ ์˜ ์‹ ์› ์ฆ๋ช…์ด ๋‹ด๊ธด ์š”์ฒญ์„ ๋ณด๋‚ด๋ผ๋Š” ์ธ์ฆ ์š”๊ตฌ๋ฅผ ํ•  ๋•Œ ์‚ฌ์šฉ
* ํ™‰๊ณผ ํ™‰ ์‚ฌ์ด์˜ ํ˜„์žฌ connection์—๋งŒ ์ ์šฉ๋˜๋Š” ํ—ค๋”
Proxy-Authorization :
Basic YnJpYW4t9Gd89Hk6T3ch
Referer * Client๊ฐ€ ์–ป์€ URL์ด ์–ด๋””๋กœ๋ถ€ํ„ฐ ๋น„๋กฏ๋œ ๊ฒƒ์ธ์ง€ Server์—๊ฒŒ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•œ ์šฉ๋„
* Server๋Š” ๋กœ๊น…์ด๋‚˜ ๋‹ค๋ฅธ ์ž‘์—…์„ ๋” ์ž˜ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
* Refererํ—ค๋”๋Š” ์œ ์ €๊ฐ€ ๋งํฌ๋ฅผ ํด๋ฆญํ–ˆ์„ ์‹œ์—๋งŒ ๋ธŒ๋ผ์šฐ์ €์— ์˜ํ•ด ์‚ฝ์ž…๋จ
* ๊ฐœ์ธ์ •๋ณด ์นจํ•ด์˜ ๋…ผ๋ž€์ด ์žˆ์Œ : ์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์ด ๋ฐฉ๋ฌธํ•œ ํŽ˜์ด์ง€๋ฅผ ์•Œ๋ฆฌ๊ณ  ์‹ถ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ
Referer : https://www.amazon.com
TE * Client๊ฐ€ chunk ์ธ์ฝ”๋”ฉ์„ ํ†ตํ•ด ๋ณด๋‚ด์ง„ ์‘๋‹ต์˜ ํŠธ๋ ˆ์ผ๋Ÿฌ์— ๋“ค์–ด์žˆ๋Š” ํ—ค๋”๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ TE : chunked
User-Agent * Client App์ด ์ž์‹ ์˜ ์‹ ์›์„ ๋ฐํžˆ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
* ์ž์œ ๋กœ์šด ํฌ๋ฉง
* Web Browser๋งˆ๋‹ค ๋‹ค๋ฅด๋‹ค
* Browser ์‹œ์žฅ ์ ์œ ์œจ ํ†ต๊ณ„๋ฅผ ์•Œ์ˆ˜ ์žˆ๋‹ค
User-Agent : Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1

Entity Header ์—”ํ‹ฐํ‹ฐ ํ—ค๋”

๋ณธ๋ฌธ์˜ ํฌ๊ธฐ์™€ ์ปจํ…์ธ , ๋ฆฌ์†Œ์Šค๋ฅผ ์„ค๋ช…ํ•˜๋Š” ํ—ค๋”์ด๋‹ค.

Entity
HEADERNOTECODE
Content-Base * Entity ์•ˆ์—์„œ ๋ฐœ๊ฒฌ๋œ ์ƒ๋Œ€ URL์„ ํ•ด์„ํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ ˆ๋Œ€ URL Content-Base : http://babytiger.netlify.com/
Content-Encoding * ๊ฐ์ฒด์— ์–ด๋–ค ์ธ์ฝ”๋”ฉ์ด ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ช…์‹œํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„
* Server๋Š” ์ด ํ—ค๋”๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‘๋‹ต์„ ๋ณด๋‚ด๊ธฐ ์ „์— ๋จผ์ € ์••์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค.
* Client์—๊ฒŒ ์–ด๋–ค ์œ ํ˜• ํ˜น์€ ์ธ์ฝ”๋”ฉ์˜ ์œ ํ˜•์ด ๊ฐ์ฒด์— ์ ์šฉ๋˜์—ˆ๋Š”์ง€ ๋งํ•ด์ค€๋‹ค. Client๋Š” ์ด ํ—ค๋”๋ฅผ ํ† ๋Œ€๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋””์ฝ”๋”ฉํ• ์ˆ˜ ์žˆ๋‹ค.
* ์ธ์ฝ”๋”ฉ์€ ์ˆ˜ํ–‰๋œ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฐ์—ด๋˜์•ผ ํ•œ๋‹ค.
Content-Encoding : compress, gzip
Content-Language * Client์—๊ฒŒ ๊ฐ์ฒด๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์•Œ๊ณ ์žˆ์–ด์•ผ ํ•˜๋Š” ์ž์—ฐ์–ด๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•œ ์šฉ๋„ Content-Language : de-DE, en-CA
Content-Length * Entity ๋ณธ๋ฌธ์˜ ๊ธธ์ด๋‚˜ ํฌ๊ธฐ๋ฅผ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•œ ์šฉ๋„ Content-Length : 3470
Content-Location * Server๊ฐ€ Client๋ฅผ ์ƒˆ URL๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„ Content-Location: /http
Content-MD5 * ๋ฉ”์„ธ์ง€ ๋ณธ๋ฌธ์— ๋Œ€ํ•œ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„
* ๊ฐ’์€ ๋ฉ”์„ธ์ง€ ๋ณธ๋ฌธ์— ๋Œ€ํ•œ MD5 ์š”์•ฝ
Content-MD5 :
Q2h1Y2sgSW51ZwDLaXR6IQ==
Content-Range * ๋ฌธ์„œ์˜ ํŠน์ • ๋ฒ”์œ„๋ฅผ ์ „์†กํ•ด๋‹ฌ๋ผ๋Š” ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต
* ํ˜„์žฌ ์ „์†กํ•˜๊ณ  ์žˆ๋Š” entity๊ฐ€ ๋ฌธ์„œ์—์„œ ์–ด๋””์— ํ•ด๋‹นํ•˜๋Š”์ง€ ์œ„์น˜(๋ฒ”์œ„) ๋ฐ ๊ธธ์ด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
* ๊ธธ์ด ๋Œ€์‹  (*)๊ฐ€ ์ ํ˜€์žˆ๋‹ค๋ฉด ์ „์ฒด ๊ธธ์ด๋ฅผ ์•Œ ์ˆ˜ ์—†์—ˆ์Œ์„ ์˜๋ฏธ
Content-Range : bytes 200-1000/67589
Content-Type * ๋ฉ”์„ธ์ง€์— ๋‹ด๊ธด ๊ฐ์ฒด์˜ ๋ฏธ๋””์–ด ํƒ€์ž…์— ๊ด€ํ•œ ์ •๋ณด Content-Type : text/html; charset=UTF-8
ETag * ๋ฉ”์„ธ์ง€์— ๋‹ด๊ธด Entity๋ฅผ ์œ„ํ•œ Entity tag๋ฅผ ์ œ๊ณต
* ๋ฆฌ์†Œ์Šค๋ฅผ ์‹๋ณ„ํ•˜๋Š” ์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉ
ETag : "33a64df551425fcc55e4
d42a148795d9f25f89d4"
Expires * ์‘๋‹ต์ด ๋” ์ด์ƒ ์œ ํšจํ•˜์ง€ ์•Š๊ฒŒ ๋˜๋Š” ์‹œ๊ฐ„์„ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•œ ์šฉ๋„
* Client๋Š” ํ•ด๋‹น ์ผ์‹œ๊ฐ€ ๋งŒ๋ฃŒ๋˜๊ธฐ ์ „๊นŒ์ง€ Sever์—๊ฒŒ ์บ์‹œ๋œ ์‚ฌ๋ณธ์ด ์—ฌ์ „ํžˆ ์œ ํšจํ•œ์ง€ ๋ฌผ์–ด๋ณด์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
Expires : Wed, 21 Oct 2019 12:12:12 GMT
Last-Modified * ํ•ด๋‹น Entity๊ฐ€ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ณ€๊ฒฝ๋œ ์‹œ๊ฐ„์— ๋Œ€ํ•œ ์ •๋ณด Last-Modified :
Wed, 21 Oct 2019 12:12:12 GMT
Range * Entity์˜ ์ผ๋ถ€๋ถ„์ด๋‚˜ ๋ฒ”์œ„์— ๋Œ€ํ•œ ์š”์ฒญ์— ์‚ฌ์šฉ
* ๊ฐ’์€ ๋ฉ”์„ธ์ง€์— ๋“ค์–ด์žˆ๋Š” Entity์˜ ๋ฒ”์œ„
Range : bytes=500-1500

3. Body

Request์˜ ์‹ค์ œ ๋ฉ”์„ธ์ง€๊ฐ€ ๋‹ด๊ธฐ๋Š” ๋ถ€๋ถ„์ด๋‹ค.
Body๋Š” ์—†๋Š” ๊ฒฝ์šฐ(GET, DELETE, OPTIONS etc)๋„ ๋งŽ๋‹ค. HTTP POST Request Body

HTTP POST Request์˜ ์˜ˆ)
Header์™€ Body๋ฅผ ๊ตฌ๋ถ„์ง“๊ธฐ ์œ„ํ•œ ๊ทœ์น™์œผ๋กœ Header์˜ ๋งˆ์ง€๋ง‰์€ ๋ฐ˜๋“œ์‹œ ๋นˆ์ค„(Blank Line)์œผ๋กœ ๋๋‚˜์•ผ ํ•œ๋‹ค. HTTP POST Request

HTTP Response Structure

Server์—์„œ ์ „์†กํ•˜๋Š” HTTP Response ๋˜ํ•œ Status Line, Header, Body ๋ผ๋Š” ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋‰œ๋‹ค.

1. Status Line

Client๋กœ ๋ถ€ํ„ฐ ๋ฐ›์€ ์‘๋‹ต์— ๋Œ€ํ•œ Feedback์ด๋‹ค. ์ƒํƒœ์ฝ”๋“œ(Status code)๋ฅผ ํ†ตํ•˜์—ฌ ์„ฑ๊ณต ๋˜๋Š” ์—๋Ÿฌ์— ๊ด€ํ•œ ๋ฉ”์„ธ์ง€๋ฅผ ์ „๋‹ฌํ•œ๋‹ค. Status Line์€ HTTP Version, Status Code, Status Text๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. Response์—์„œ์˜ HTTP Version์— ๊ด€ํ•œ ์ •๋ณด๋Š” ๋งจ ์•ž์— ์œ„์น˜ํ•œ๋‹ค.(Request์—์„œ์˜ HTTP Version์€ start line์˜ ๋งจ ๋์— ์œ„์น˜) HTTP PATCH RESPONSE STATUS LINE

2. Headers

Header๋Š” ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ๋ถ€๋ถ„์ด ์•„๋‹ˆ๋‹ค. ์•„๋ฌด๊ฒƒ๋„ ์ „๋‹ฌํ•  Header๊ฐ€ ์—†๋‹ค๋ฉด ๋นˆ์นธ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค.

Response Header ์‘๋‹ต ํ—ค๋”

์‘๋‹ต์— ๋Œ€ํ•œ ๋ถ€๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

Response
HEADERNOTECODE
Accept-Ranges * Server๊ฐ€ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค์˜ ํŠน์ • ๋ฒ”์œ„๋ฅผ Client์—๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ์šฉ๋„ Accept-Ranges : bytes
Age * Client์—๊ฒŒ ์‘๋‹ต์ด ์–ผ๋งˆ๋‚˜ ์˜ค๋ž˜ ๋ฌ๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ์šฉ๋„
* ๊ฐ’์€ ์ดˆ ๋‹จ์œ„์˜ ๋ณ€ํ™”๋Ÿ‰
Age : 60
Allow * Client์—๊ฒŒ ํŠน์ • ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ์–ด๋–ค HTTP Method๊ฐ€ ์ง€์› ๊ฐ€๋Šฅํ•œ์ง€์— ๋Œ€ํ•œ ์ •๋ณด Allow : GET, POST
Authorization * Client๋Š” ์ž์‹ ์„ ์ธ์ฆํ•˜๊ธฐ ์œ„ํ•ด Server์—๊ฒŒ Authorization ํ—ค๋”๋ฅผ ๋ณด๋‚ธ๋‹ค. ์ด ํ—ค๋”์˜ ๊ฐ’์€ ์‚ฌ์šฉ๋˜๋Š” ์ธ์ฆ scheme์— ๋‹ฌ๋ ค ์žˆ๋‹ค. Authorization : Basic YWxhZGRpbjpvcGVuc2VzYW1l
Location * ์š”์ฒญํ•œ resource๊ฐ€ ์ƒˆ๋กœ์šด ์œ„์น˜๋กœ ์˜ฏ๊ฒจ์ง„ ๊ฒฝ์šฐ ์‚ฌ์šฉ
* ์š”์ฒญ์œผ๋กœ ์ธํ•ด ์ƒˆ resource๊ฐ€ ๋งŒ๋“ค์–ด ์ง„ ๊ฒฝ์šฐ ํ•ด๋‹น ์œ„์น˜๋กœ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
Location : /index.html
Proxy-Authenticate * Proxy๊ฐ€ App์—๊ฒŒ ์ž์‹ ์˜ ์‹ ์› ์ฆ๋ช…์ด ๋‹ด๊ธด ์š”์ฒญ์„ ๋ณด๋‚ด๋ผ๋Š” ์ธ์ฆ์š”๊ตฌ๋ฅผ ์œ„ํ•œ ์šฉ๋„
* ํ˜„์žฌ connection์— ๋Œ€ํ•œ ์ธ์ฆ์„ ์š”๊ตฌ
Proxy-Authenticate : Basic realm="Access to the internal site"
Public * Server๊ฐ€ Client์—๊ฒŒ ์ž์‹ ์ด ์ง€์›ํ•˜๋Š” Method๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ์šฉ๋„ Public : OPTIONS, GET, HEAD, POST
Retry-After * Client๊ฐ€ resource์— ๋Œ€ํ•œ ์š”์ฒญ์„ ์–ธ์ œ ๋‹ค์‹œ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๊ด€ํ•œ ์ •๋ณด
* ๋™์ ์ธ resource๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” server๊ฐ€ ์ƒˆ๋กœ ์ƒ์„ฑ๋œ resource๋กœ ํด๋ผ์ด์–ธํŠธ๋ฅผ redirect ํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ, ๊ทธ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ƒ์„ฑ๋˜๊ธฐ๊นŒ์ง€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•  ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋œ๋‹ค.
Retry-After : 120
Server * Server๊ฐ€ Client์—๊ฒŒ ์ž์‹ ์ด ๋ˆ„๊ตฌ์ธ์ง€ ์•Œ๋ ค์ฃผ๋Š” ์šฉ๋„
* ์„œ๋ฒ„์˜ ์ด๋ฆ„, ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ฃผ์„
* ์ž์œ ๋กœ์šด ํ˜•์‹
Server : Apache/2.4.1 (Unix)
Title * Entity ์˜ ์ œ๋ชฉ์„ ์•Œ๋ ค์ฃผ๋Š” ์šฉ๋„
* ์ดˆ๊ธฐ HTTP/1.0 ํ™•์žฅ์˜ ์ผ๋ถ€๋กœ ์ฃผ๋กœ ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…ํ™•ํ•œ ์ œ๋ชฉ์„ ๊ฐ€์ง„ HTML page๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ
Title : CNN Interactive
Vary * Client์š”์ฒญ์— ๋“ค์–ด์žˆ๋Š” ์–ด๋–ค ํ—ค๋”๊ฐ€ ์„œ๋ฒ„์ธก ํ˜‘์ƒ์— ์‚ฌ์šฉ๋˜๋Š”์ง€ Client์—๊ฒŒ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•œ ์šฉ๋„ Vary: User-Agent
Warning * ์š”์ฒญ์ค‘์— ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚ฌ๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด
* ์ƒํƒœ ์ฝ”๋“œ๋‚˜ ๋ฉ”์„ธ์ง€๋ฅผ ํ†ตํ•ด์„œ ์ „ํ•  ์ˆ˜ ์—†์—ˆ๋˜ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ๋ณด๋‚ธ๋‹ค
Warning : 113
WWW-Authenitcate * Client์— ๋Œ€ํ•ด ์ธ์ฆ scheme์„ ์ด์šฉํ•œ ์ธ์ฆ์š”๊ตฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด 401 Unauthorized ์‘๋‹ต์—์„œ ์‚ฌ์šฉ WWW-Authenticate : Basic realm = "Your Private Profile"

3. Body

Body๋ถ€๋ถ„๋„ Header์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฐ˜๋“œ์‹œ ์ „๋‹ฌํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์ด ์•„๋‹ˆ๊ธฐ์— ๋นˆ์นธ์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

HTTP Response ์˜ˆ)
HTTP DELETE RESPONSE

HTTP์˜ ํŠน์ง•

Connectionless

HTTP๋Š” ๋น„์—ฐ๊ฒฐ ์ง€ํ–ฅ์ด๋‹ค. ๋น„์—ฐ๊ฒฐ ์ง€ํ–ฅ์ด๋ผ ํ•จ์€ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ , ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์‘๋‹ต์„ ๋ณด๋‚ธ ํ›„์—๋Š” ์ฆ‰์‹œ ์—ฐ๊ฒฐ์„ ๋Š๋Š”๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์ ์€์ˆ˜์˜ ์„œ๋ฒ„๊ฐ€ ๋งŽ์€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›์•„๋“ค์ธ๋‹ค. ์„œ๋ฒ„๋Š” ์ˆ˜๋ฐฑ ์ˆ˜์ฒœ ๊ทธ ์ด์ƒ์˜ ์—ฐ๊ฒฐ์„ ๋ฐ›์•„๋“ค์ด๊ธฐ ์œ„ํ•ด Connectionless์˜ ์žฅ์ ์„ ์ทจํ•œ ๊ฒƒ์ด๋‹ค. ๊ทธ๋กœ์ธํ•ด ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ผ์ˆ˜ ์žˆ๊ณ  ๋” ๋งŽ์€ ๋ฉ”์„ธ์ง€๋ฅผ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋น„์—ฐ๊ฒฐ์„ฑ์œผ๋กœ ์ธํ•œ ๋ถˆํŽธํ•จ๋„ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ์ด๋Š” ๋™์ผํ•œ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ง€์†์ ์œผ๋กœ ์ƒˆ๋กญ๊ฒŒ ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค. ์ด๋Š” ๋†’์€ ์—ฐ๊ฒฐ๋น„์šฉ์„ ์•ผ๊ธฐ์‹œ์ผฐ๋‹ค. ์ด์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์œผ๋กœ Keep-Alive๊ฐ€ ์žˆ๋‹ค.

Keep-Alive

Keep-Alive์„ ์ด์šฉํ•˜๋ฉด Connection์„ ๋งบ๊ธฐ ์œ„ํ•ด ๋ฐœ์ƒํ•˜๋Š” ์ค€๋น„ ์ž‘์—… ์‹œ๊ฐ„์ด ์ ˆ์•ฝ๋œ๋‹ค. ์—ฐ๊ฒฐ์ด ์œ ์ง€๋˜๊ณ  ์žˆ๊ธฐ์— TCP๋กœ ์ธํ•œ ์ง€์—ฐ์‹œ๊ฐ„์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Œ์œผ๋กœ ๋” ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

Keep-Alive ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด Header์— Connection ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.
ย ย ย ย ย ย Connection : Keep-Alive โ†’ Keep-Alive๋ฅผ ์‚ฌ์šฉํ•จ์„ ์˜๋ฏธ
ย ย ย ย ย ย Connection : close ย ย ย ย ย โ†’ Keep-Alive๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ์„ ์˜๋ฏธ
Keep-Alive์— ๊ด€ํ•œ ์š”์ฒญ์„ ๋ฐ›์•˜๋‹ค๊ณ  ๋ฐ˜๋“œ์‹œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ์–ธ์ œ๋“ ์ง€ Keep-Alive ์—ฐ๊ฒฐ์„ ๋Š์„ ์ˆ˜ ์žˆ๋‹ค.

Stateless

HTTP๋Š” stateless ํ”„๋กœํ† ์ฝœ์ด๋‹ค. State ๋Š” โ€˜์ƒํƒœโ€™๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ƒํƒœ๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์€ ์š”์ฒญ๊ณผ ์‘๋‹ต์˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ์š”์ฒญ์— ๋Œ€ํ•ด ๋‹จ์ˆœํžˆ ์‘๋‹ต๋งŒ ํ•˜๊ณ  ๊ทธ๋™์•ˆ์˜ ์ƒํƒœ๋ฅผ ๊ธฐ์–ตํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ชจ๋“  ์š”์ฒญ-์‘๋‹ต์€ ๋…๋ฆฝ์ ์ธ transaction์ด ๋œ๋‹ค.

HTTP์˜ Stateless ๋ผ๋Š” ํŠน์ง•์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ๋Š” ์œ ์ €๊ฐ€ ๋งค๋ฒˆ ์ƒˆ๋กœ์šด ์ธ์ฆ(๋กœ๊ทธ์ธ๊ณผ ๊ฐ™์€)์„ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ ๋‹จ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ฟ ํ‚ค(Cookie), ์„ธ์…˜(Session), OAuth, JWT๋“ฑ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.
* Cookie, Session, OAuth, JWT๋Š” ๋‹ค๋ฅธํฌ์ŠคํŠธ์—์„œ ์ž์„ธํžˆ ๋‹ค๋ฃฐ ๊ฒƒ์ด๋‹ค.

Return to the ToC

HTTP Methods

HTTP Methods์˜ ์ข…๋ฅ˜๋กœ๋Š” CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT, TRACE๊ฐ€ ์žˆ๋‹ค. ์ด ์ค‘์—์„œ 7๊นŒ์ง€ ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ๋‹ค. HTTP METHODS ์•ˆ์ „ํ•œ ๋ฉ”์„œ๋“œ(Safe Method)
GET๊ณผ HEAD๋Š” ์•ˆ์ „ํ•œ ๋ฉ”์„œ๋“œ์— ์†ํ•œ๋‹ค. ์•ˆ์ „ํ•˜๋‹ค๋Š” ์˜๋ฏธ๋Š” ํ•ด๋‹น ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์— ์žˆ๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์•ˆ์ „ํ•œ ๋ฉ”์„œ๋“œ๋Š” ๋ฐ์ดํ„ฐ ์š”์ฒญ๋งŒ ํ•˜๊ธฐ์— ์„œ๋ฒ„์— ์˜ํ–ฅ(์ˆ˜์ •, ์‚ญ์ œ)์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

GET

  • ์„œ๋ฒ„์—์„œ ํŠน์ • ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ ์žํ•  ๋•Œ ์‚ฌ์šฉ.

POST

  • ์„œ๋ฒ„๊ฐ€ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ๋•Œ ์‚ฌ์šฉ.

POST๋Š” ์„œ๋ฒ„์— ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ์œ„ํ•ด ์„ค๊ณ„๋œ ๋ฉ”์„œ๋“œ์ด๋‹ค.

  • ์„œ๋ฒ„์—์„œ ํŠน์ • ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ํ—ค๋”๋งŒ ๊ฐ€์ ธ์˜ค๊ณ ์žํ•  ๋•Œ ์‚ฌ์šฉ.

Server๋Š” Entity ๋ณธ๋ฌธ์„ ๋ฐ˜ํ™˜ํ•ด์ฃผ์ง€ ์•Š๋Š”๋‹ค. Client๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š๊ณ ๋„ ํ—ค๋”์— ๋‹ด๊ธด ๋‚ด์šฉ์œผ๋กœ ํŠน์ • ์ •๋ณด๋ฅผ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

PUT

  • ์„œ๋ฒ„์—๊ฒŒ Request ๋ฉ”์„ธ์ง€์˜ ๋ณธ๋ฌธ์„ ์ €์žฅํ•  ๋•Œ ์‚ฌ์šฉ.

PUT ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์— ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑ ๋˜๋Š” ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋กœ์ธํ•ด ์ธ์ฆ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋‹ค์ˆ˜์ด๋‹ค.

DELETE

  • ์„œ๋ฒ„์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œํ•  ๋•Œ ์‚ฌ์šฉ.

TRACE

  • ๋ฉ”์„ธ์ง€๊ฐ€ Proxy๋ฅผ ๊ฑฐ์ณ ์„œ๋ฒ„์— ๋„๋‹ฌํ•˜๋Š” ๊ณผ์ •์„ ์ถ”์ ํ•˜๊ณ ์žํ•  ๋•Œ ์‚ฌ์šฉ.

์ฃผ๋กœ ์ง„๋‹จ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” TRACE ๋ฉ”์„œ๋“œ๋Š” ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ž์‹ ์˜ ์š”์ฒญ์ด ์„œ๋ฒ„์— ๋„์ฐฉํ–ˆ์„ ๋•Œ์— ์–ด๋–ป๊ฒŒ ๋ณด์ด๊ฒŒ ๋˜๋Š”์ง€ ์•Œ๋ ค์ค€๋‹ค. Client๊ฐ€ ๋ณด๋‚ธ TRACE ์š”์ฒญ์€ Server์—์„œ loopback ์ง„๋‹จ์„ ํ•œ๋‹ค. ์š”์ฒญ ์ „์†ก์˜ ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์—์„œ Server๋Š” ์ž์‹ ์ด ๋ฐ›์€ ์š”์ฒญ ๋ฉ”์„ธ์ง€๋ฅผ ๋ณธ๋ฌธ์— ๋„ฃ์–ด TRACE ์‘๋‹ต์„ ๋˜๋Œ๋ ค์ค€๋‹ค.

OPTIONS

  • ์„œ๋ฒ„๊ฐ€ ์–ด๋–ค ๋ฉ”์„œ๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ ์žํ•  ๋•Œ ์‚ฌ์šฉ.

ํด๋ผ์ด์–ธํŠธ๋Š” OPTIONS๋ฅผ ํ†ตํ•ด ์›น์„œ๋ฒ„์—๊ฒŒ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ์ง€์› ๋ฒ”์œ„์— ๋Œ€ํ•ด ๋ฌผ์–ด๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๋Ÿฌ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜๊ธฐ ์ „์— ์–ด๋–ค ๋ฐฉ๋ฒ•์œผ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์ด ์ตœ์„ ์ธ์ง€ ์•Œ์•„ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

HTTP METHODS CHART

Return to the ToC

HTTP Status Code

์ƒํƒœ์ฝ”๋“œ(Status Code)๋Š” 5๊ฐœ์˜ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋‰œ๋‹ค.

  • 1xx Informational
  • 2xx Success
  • 3xx Redirectional
  • 4xx Client Error
  • 5xx Server Error

1xx Informational

์ •๋ณด์„ฑ ์ƒํƒœ ์ฝ”๋“œ

  • 100 Continue
    ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ ์‹œ์ž‘ ๋ถ€๋ถ„์˜ ์ผ๋ถ€๊ฐ€ ๋ฐ›์•„๋“ค์—ฌ์กŒ๊ณ  ํด๋ผ์ด์–ธํŠธ๋Š” ๋‚˜๋จธ์ง€๋ฅผ ๊ณ„์† ์ด์–ด์„œ ๋ณด๋‚ด์•ผํ•จ์„ ์˜๋ฏธ. 100 Continue๋Š” Client App์ด Server์— Entity๋ณธ๋ฌธ์„ ์ „์†กํ•˜๊ธฐ ์ „์— ๊ทธ ๋ณธ๋ฌธ์„ ์„œ๋ฒ„๊ฐ€ ๋ฐ›์•„๋“ค์ผ ๊ฒƒ์ธ์ง€์— ๊ด€ํ•œ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๋„์ž…๋˜์—ˆ๋‹ค.
  • 101 Switching Protocols
    ์„œ๋ฒ„๊ฐ€ ํ”„๋กœํ† ์ฝœ์„ ๋ฐ”๊พธ์—ˆ์Œ์„ ์˜๋ฏธ
  • 102 Processing
    ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด๋•Œ ์ „์†กํ•˜๋Š” ์ƒํƒœ์ฝ”๋“œ

2xx Success

์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ

  • 200 Ok
    ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์ด ์„œ๋ฒ„์—์„œ ์ •์ƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋ฌ์Œ์„ ์˜๋ฏธ. Entitiy ๋ณธ๋ฌธ์€ Client๊ฐ€ ์š”์ฒญํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค.
  • 201 Created
    ์„œ๋ฒ„์— ๊ฐœ์ฒด๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์ƒ์„ฑ๋ฌ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธ.
  • 202 Accepted
    ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์€ ์ ‘์ˆ˜๋˜์—ˆ์ง€๋งŒ ์„œ๋ฒ„๋Š” ์•„์ง ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์ด๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธ. ์„œ๋ฒ„๋Š” ์š”์ฒญ์˜ ์ฒ˜๋ฆฌ๊ฐ€ ์–ธ์ œ ์™„๋ฃŒ๋  ๊ฒƒ์ธ์ง€์— ๊ด€ํ•œ ์ •๋ณด๋ฅผ ๋ณด๋‚ด์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
  • 203 Non-authoritative Information
    ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์€ ์ •์ƒ์ ์œผ๋กœ ์ ‘์ˆ˜ํ–ˆ์ง€๋งŒ ์›ํ•˜๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ๋‹ค๋ฅธ ์†Œ์Šค๋กœ๋ถ€ํ„ฐ ๋น„๋กฏ๋ฌ์Œ์„ ์˜๋ฏธ.
  • 204 No Content
    ์„œ๋ฒ„๊ฐ€ ๋ณด๋‚ธ Response์—๋Š” ๋ณธ๋ฌธ์—†์ด Status Line๊ณผ Header๋งŒ ์กด์žฌํ•จ์„ ์˜๋ฏธ. ์ฃผ๋กœ ์›น๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ƒˆ ๋ฌธ์„œ๋กœ ์ด๋™์‹œํ‚ค์ง€ ์•Š๊ณ  refresh ํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
  • 205 Reset Content
    ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์œ„ํ•œ ์ƒํƒœ ์ฝ”๋“œ์ด๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ํ˜„์žฌ ํŽ˜์ด์ง€์— ์žˆ๋Š” HTML Form์— ์žˆ๋Š” ๋ชจ๋“  ๊ฐ’์„ ๋น„์šฐ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ.
  • 206 Partial Content
    ์ผ๋ถ€๋ถ„ ๋˜๋Š” ํŠน์ • ๋ฒ”์œ„์˜ ์š”์ฒญ์ด ์„ฑ๊ณตํ–ˆ์Œ์„ ์˜๋ฏธ. ๋ฒ”์œ„ ์š”์ฒญ์˜ ์„ฑ๊ณต.
  • 207 Multi-Status
    ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ถ€๊ฐ€์  ์š”์ฒญ๋“ค์˜ ๊ฐ๊ฐ์˜ ์‘๋‹ต์„ ์„ฑ๊ณต์‹œ์ผฐ์Œ์„ ์˜๋ฏธ.
  • 208 Already Reported
    ์ด๋ฏธ ์‘๋‹ตํ•˜์˜€์Œ์„ ์˜๋ฏธ.
  • 226 IM Used
    ์‘๋‹ต์ด ์„ฑ๊ณตํ•˜์˜€๊ณ  ๊ทธ ์‘๋‹ต์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ํฌํ•จํ•จ์„ ์˜๋ฏธ.

3xx Redirectional

๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ƒํƒœ ์ฝ”๋“œ

๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ƒํƒœ์ฝ”๋“œ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ด€์‹ฌ์žˆ์–ด ํ•˜๋Š” ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ๋‹ค๋ฅธ ์œ„์น˜์— ๊ด€ํ•œ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ๊ฑฐ๋‚˜ ๊ทธ ๋ฆฌ์†Œ์Šค์˜ ๋‚ด์šฉ ๋Œ€์‹  ๋‹ค๋ฅธ ๋Œ€์•ˆ์„ ์•Œ๋ ค์ค€๋‹ค.

  • 300 Multiple Choices
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋™์‹œ์— ์—ฌ๋Ÿฌ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” URL์„ ์š”์ฒญํ–ˆ์„์‹œ ๋ฆฌ์†Œ์Šค์˜ ๋ชฉ๋ก๊ณผ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ๋ชฉ๋ก์˜ ๋ฆฌ์ŠคํŠธ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • 301 Moved Permanently
    ์š”์ฒญํ•œ URL์ด ์˜ฎ๊ฒจ ์กŒ์„์‹œ ์‚ฌ์šฉํ•˜๋Š” ์ƒํƒœ ์ฝ”๋“œ. ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ด๋Š” ์‘๋‹ต Header์— Location์„ ๋ณด๋‚ด์ค˜์•ผ ํ•œ๋‹ค. Location ๊ฐ’์€ ํ•ด๋‹น ๋ฆฌ์†Œ์Šค๊ฐ€ ์กด์žฌํ•˜๊ณ  ์žˆ๋Š” ์ƒˆ๋กœ์šด URL์ด๋‹ค.
  • 302 Found
    301๊ณผ ๋น„์Šทํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” Location Header๋กœ ์ฃผ์–ด์ง„ URL์„ ๋ฆฌ์†Œ์Šค๋ฅผ ์ž„์‹œ๋กœ ๊ฐ€๋ฆฌํ‚ค๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์ดํ›„์˜ ์š”์ฒญ์€ ์›๋ž˜ URL์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.
  • 303 See Other
    ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ค๋ฅธ URL์—์„œ ๊ฐ€์ ธ์™€์•ผ ํ•œ๋‹ค๊ณ  ์•Œ๋ ค์ฃผ๊ณ ์ž ํ• ๋•Œ ์“ด๋‹ค. ์ƒˆ URL์€ Response์˜ Location Header์— ์ ํ˜€์žˆ๋‹ค.
  • 304 Not Modified
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์กฐ๊ฑด๋ถ€๋กœ ์š”์ฒญํ•œ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ตœ๊ทผ์— ์ˆ˜์ •๋˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ ์„œ๋ฒ„๊ฐ€ ๋ณด๋‚ด๋Š” ์ฝ”๋“œ.
  • 305 Use Proxy
    ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๋ฐ˜๋“œ์‹œ Proxy๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•จ์„ ์˜๋ฏธ.
  • 307 Temporay Redirect
    ์ž„์‹œ Redirect. ํด๋ผ์ด์–ธํŠธ๋Š” Location Header๋กœ ์ฃผ์–ด์ง„ URL์„ ๋ฆฌ์†Œ์Šค๋ฅผ ์ž„์‹œ๋กœ ๊ฐ€๋ฆฌํ‚ค๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ. ์ดํ›„์˜ ์š”์ฒญ์—์„œ๋Š” ์›๋ž˜ URL์„ ์‚ฌ์šฉ.
  • 308 Permanent Redirect
    ์˜๊ตฌ Redirect. ๋Œ€๋ถ€๋ถ„์˜ ์ธํ„ฐ๋„ท ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค.

4xx Client Error

ํด๋ผ์ด์–ธํŠธ ์—๋Ÿฌ ์ƒํƒœ ์ฝ”๋“œ

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ด๋Š” ์š”์ฒญ์ด ์„œ๋ฒ„์—์„œ ๋‹ค๋ฃฐ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ Client Error ์ƒํƒœ ์ฝ”๋“œ๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค.

  • 400 Bad Request
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ž˜๋ชป๋œ ์š”์ฒญ์„ ๋ณด๋ƒˆ์„์‹œ ์‚ฌ์šฉ๋˜๋Š” ์ฝ”๋“œ.
  • 401 Unauthorized
    ๋ฆฌ์†Œ์Šค๋ฅผ ์–ป๊ธฐ์œ„ํ•ด์„œ๋Š” ์ธ์ฆํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
  • 402 Payment Required
    ํ˜„์žฌ ์‚ฌ์šฉ๋˜๋Š” ์ƒํƒœ ์ฝ”๋“œ๋Š” ์•„๋‹ˆ๋‹ค. ๋ฏธ๋ž˜์— ์‚ฌ์šฉ๋  ๊ฐ€๋Šฅ์„ฑ์„ ์œ„ํ•ด ์ค€๋น„๋œ ์ƒํƒœ ์ฝ”๋“œ.
  • 403 Forbidden
    ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์ด ์„œ๋ฒ„์— ์˜ํ•ด ๊ธˆ์ง€๋˜์—ˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค. ์„œ๋ฒ„๊ฐ€ ์™œ ์š”์ฒญ์ด ๊ธˆ์ง€๋˜์—ˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ๊ณ  ์‹ถ๋‹ค๋ฉด ๊ทธ ์ด์œ ๋ฅผ Entity ๋ณธ๋ฌธ์— ํฌํ•จ์‹œํ‚ค๋ฉด ๋œ๋‹ค. ํ•˜์ง€๋งŒ 403 ์ƒํƒœ ์ฝ”๋“œ ์ž์ฒด๊ฐ€ ์„œ๋ฒ„์—์„œ ๊ธˆ์ง€๋œ ์ด์œ ๋ฅผ ์ˆจ๊ธฐ๊ณ ์ž ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ด๊ธฐ์— ์ƒํƒœ ์ฝ”๋“œ๋งŒ ์ „์†กํ•œ๋‹ค.
  • 404 Not Found
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•œ ํŽ˜์ด์ง€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ.
  • 405 Method Not Allowed
    ํ•ด๋‹น ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ์„œ๋ฒ„์—์„œ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ์˜ ์š”์ฒญ์„ ๋ฐ›์•˜์„์‹œ ์‚ฌ์šฉ. ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ๋ฉ”์„œ๋“œ๊ฐ€ ๋ฌด์—‡์ธ์ง€์— ๊ด€ํ•œ ์ •๋ณด๋ฅผ Allow Header์— ํฌํ•จ์‹œ์ผœ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ด์ค˜์•ผ ํ•œ๋‹ค.
  • 406 Not Acceptable
    ์ฃผ์–ด์ง„ URL์— ๋Œ€ํ•œ ๋ฆฌ์†Œ์Šค ์ค‘ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์—†๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ.
  • 407 Proxy Authentication Required
    401๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ์ธ์ฆ์„ ์š”๊ตฌํ•˜๋Š” Proxy Server์šฉ ์ด๋‹ค.
  • 408 Request Timeout
    ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์™„์ˆ˜ํ•˜๊ธฐ์— ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ๊ฒฝ์šฐ, ์„œ๋ฒ„์—์„œ 408 ์ƒํƒœ ์ฝ”๋“œ๋กœ ์‘๋‹ต์„ ๋ณด๋‚ธ๋’ค ์—ฐ๊ฒฐ์„ ๋Š์„ ์ˆ˜ ์žˆ๋‹ค.
  • 409 Conflict
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ์š”์ฒญ์ด ์ถฉ๋Œ์„ ์ผ์œผํ‚ฌ์ˆ˜ ์žˆ์„ ๊ฒฝ์šฐ 409๋ฅผ ๋ณด๋‚ธ๋‹ค. ์‘๋‹ต ๋ฉ”์„ธ์ง€์—๋Š” ์ถฉ๋Œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๋Š” ๋ณธ๋ฌธ์„ ํฌํ•จ์‹œํ‚จ๋‹ค.
  • 410 Gone
    404์™ธ ๋น„์Šทํ•˜๋‹ค. Gone์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ด์ „์—๋Š” ์„œ๋ฒ„๊ฐ€ ๊ฐ–๊ณ  ์žˆ์—ˆ์ง€๋งŒ ํ˜„์žฌ๋Š” ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ์ฃผ๋กœ ์›น์‚ฌ์ดํŠธ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ์ด๋‹ค. ์„œ๋ฒ„ ๊ด€๋ฆฌ์ž๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ œ๊ฑฐ๋ฌ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.
  • 411 Length Required
    ์š”์ฒญ ๋ฉ”์„ธ์ง€์— Content-Length Header๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•œ๋‹ค.
  • 412 Precondition Failed
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์กฐ๊ฑด๋ถ€ ์š”์ฒญ์„ ํ–ˆ์ง€๋งŒ ๊ทธ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์‹คํŒจํ–ˆ์„ ๋Œ€ ์‚ฌ์šฉํ•œ๋‹ค. ์กฐ๊ฑด๋ถ€ ์š”์ฒญ์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ Expect Header๋ฅผ ํฌํ•จํ•œ ๊ฒฝ์šฐ์ด๋‹ค.
  • 413 Payload Too Large
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ•œ๊ณ„๋ฅผ ๋ฒ—์–ด๋‚œ ํฌ๊ธฐ์˜ ์š”์ฒญ์„ ํ–ˆ์„์‹œ ์‚ฌ์šฉ๋˜๋Š” ์ฝ”๋“œ์ด๋‹ค.
  • 414 Request-URI Too Long
    ์„œ๋ฒ„๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” URL์˜ ๊ธธ์ด๋ฅผ ๋„˜์–ด์„  ๊ฒฝ์šฐ ์„œ๋ฒ„์—์„œ ๋ณด๋‚ด๋Š” ์ฝ”๋“œ์ด๋‹ค.
  • 415 Insupported Media Type
    ์„œ๋ฒ„๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์œ ํ˜•์˜ Entity๋ฅผ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋ƒˆ์„ ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์ฝ”๋“œ์ด๋‹ค.
  • 416 Requested Range Not Satisfiable
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ์š”์ฒญ ๋ฉ”์„ธ์ง€์˜ ๋ฆฌ์†Œ์Šค์˜ ํŠน์ • ๋ฒ”์œ„๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
  • 417 Expectation Failed
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ Expect ์š”์ฒญ์„ ์„œ๋ฒ„๊ฐ€ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ๋œ๋‹ค.
  • 418 Iโ€™m a teapot
    ๋งŒ์šฐ์ ˆ ์žฅ๋‚œ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ฝ”๋“œ. ์„œ๋ฒ„๊ฐ€ ์ฐป์ฃผ์ „์ž์ด๊ธฐ์— ์ปคํ”ผ ๋‚ด๋ฆฌ๊ธฐ๋ฅผ ๊ฑฐ์ ˆํ–ˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.
  • 421 Misdirected Request
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ์š”์ฒญ์ด ์‘๋‹ต์„ ํ•  ์ˆ˜ ์—†๋Š” ์„œ๋ฒ„๋กœ ์ „์†ก๋˜์—ˆ์„ ๊ฒฝ์šฐ.
  • 422 Unprocessable Entity
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ์š”์ฒญ์˜ ๋ฌธ๋ฒ•๋„ ์•Œ๋งž๊ณ  ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ดํ•ดํ–ˆ์ง€๋งŒ ์š”์ฒญ๋œ ์ง€์‹œ๋ฅผ ๋”ฐ๋ฅผ ์ˆ˜ ์—†์„๋•Œ ์‚ฌ์šฉ.
  • 423 Locked
    ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์ž ๊ฐ€๋‘์—ˆ์„ ์‹œ ์‚ฌ์šฉ.
  • 424 Failed Dependency
    ์„œ๋กœ ์˜์กด๊ด€๊ณ„์— ์žˆ๋Š” ๋ฆฌ์†Œ์Šค์ค‘๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ ์‹คํŒจํ•œ ๊ฒฝ์šฐ์ด๋‹ค. ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด ์—ฐ์‡„์ ์ธ action์ด ์š”๊ตฌ๋˜๋Š”๋ฐ action์ค‘ ํ•˜๋‚˜๊ฐ€ ์‹คํŒจํ–ˆ์„ ๊ฒฝ์šฐ ๋ณด๋‚ด๋Š” ์ฝ”๋“œ์ด๋‹ค.
  • 426 Upgrade Required
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ˜„์žฌ ์‚ฌ์šฉํ•œ ํ”„๋กœํ† ์ฝœ์€ ๊ฑฐ๋ถ€ํ•˜์ง€๋งŒ ๋งŒ์•ฝ ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ๋กœ ์—…๊ทธ๋ ˆ๋“œ ํ•œ๋‹ค๋ฉด ํ•ด๋‹น ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณด๋‚ด ์ค„ ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธ.
  • 428 Precondition Required
    ํด๋ผ์ด์–ธํŠธ์˜ ์กฐ๊ฑด๋ถ€ ์š”์ฒญ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์„œ๋ฒ„๊ฐ€ ๋ณด๋‚ด๋Š” ์ฝ”๋“œ.
  • 429 Too Many Requests
    ์œ ์ €๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์€ ์š”์ฒญ์„ ์งง์€ ์‹œ๊ฐ„์— ๋ณด๋ƒˆ์„ ๊ฒฝ์šฐ ์‚ฌ์šฉ๋œ๋‹ค.
  • 431 Request Header Fields Too Large
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•œ ํ—ค๋”ํ•„๋“œ๊ฐ€ ๋„ˆ๋ฌด ํด ๊ฒฝ์šฐ ๋ณด๋‚ด๋Š” ์ฝ”๋“œ. ์„œ๋ฒ„๋Š” ๋งŒ์•ฝ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์ด์ฆˆ๋ฅผ ์ค„์—ฌ์„œ ๋‹ค์‹œ ๋ณด๋‚ธ๋‹ค๋ฉด ๋ฐ›์•„์ค„ ์˜์‚ฌ๊ฐ€ ์žˆ์Œ์„ ํ‘œํ˜„ํ•œ๋‹ค.
  • 444 Connection Closed Without Response
    ์‘๋‹ต ์—†์ด ์ปจ๋„ฅ์…˜์„ ๋Š์Œ์„ ์˜๋ฏธํ•œ๋‹ค.
  • 451 Unavailable For Legal Reasons
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•œ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ •๋ถ€์— ์˜ํ•ด ๊ฒ€์—ด๋œ ๋ถˆ๋ฒ•์ ์ธ ๋ฆฌ์†Œ์Šค์ผ์‹œ ์„œ๋ฒ„์—์„œ ๋ณด๋‚ด๋Š” ์ฝ”๋“œ.
  • 499 Client Closed Request
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ๋‹ซ์€ ๊ฒฝ์šฐ ์‚ฌ์šฉ.

5xx Server Error

์„œ๋ฒ„ ์—๋Ÿฌ ์ƒํƒœ ์ฝ”๋“œ

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ์š”์ฒญ์„ ๋ณด๋‚ด์—ˆ์ง€๋งŒ ์„œ๋ฒ„์ชฝ์—์„œ ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ–ˆ์„ ๊ฒฝ์šฐ ์‚ฌ์šฉ๋˜๋Š” ์ƒํƒœ ์ฝ”๋“œ๋“ค์ด๋‹ค.

  • 500 Internal Server Error
    ๋‚ด๋ถ€ ์„œ๋ฒ„ ์˜ค๋ฅ˜. ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋Š” ์—๋Ÿฌ๋ฅผ ๋งŒ๋‚ฌ์„๋•Œ ์‚ฌ์šฉ.
  • 501 Not Implemented
    ๊ตฌํ˜„ ๋˜์ง€ ์•Š์Œ. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์˜ ๋Šฅ๋ ฅ์„ ๋›ฐ์–ด ๋„˜์€ ์š”์ฒญ์„ ํ•˜์˜€์„์‹œ ์‚ฌ์šฉ. ์˜ˆ๋ฅผ๋“ค์–ด ์„œ๋ฒ„์—์„œ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๊ฒฝ์šฐ.
  • 502 Bad Gateway
    Proxy๋‚˜ Gateway์ฒ˜๋Ÿผ ํ–‰๋™ํ•˜๋Š” Server๊ฐ€ ๊ทธ ์š”์ฒญ ์‘๋‹ต ์—ฐ์‡„์— ์žˆ๋Š” ๋‹ค์Œ ๋งํฌ๋กœ๋ถ€ํ„ฐ ๊ฐ€์งœ ์‘๋‹ต์„ ๋งŒ๋‚ฌ์„๋•Œ ์‚ฌ์šฉ.
  • 503 Service Unavailable
    ์ผ์‹œ์ ์œผ๋กœ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ. ํ˜„์žฌ๋Š” ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ ๋‚˜์ค‘์—๋Š” ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ด ์ค„ ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธ.
  • 504 Gateway Timeout
    ๊ฒŒ์ดํŠธ์›จ์ด ์‹œ๊ฐ„ ์ดˆ๊ณผ. ๋‹ค๋ฅธ ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ๋‹ค ํƒ€์ž„์•„์›ƒ์ด ๋ฐœ์ƒํ•œ Gateway๋‚˜ Proxy์—์„œ ์˜จ ์‘๋‹ต์„ ๋งํ•œ๋‹ค.
  • 505 HTTP Version Not Supported
    ์ง€์›ํ•˜์ง€ ์•Š๋Š” HTTP Version. ์„œ๋ฒ„๊ฐ€ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฒ„์ „์˜ ํ”„๋กœํ† ์ฝœ๋กœ ๋œ ์š”์ฒญ์„ ๋ฐ›์•˜์„ ๊ฒฝ์šฐ.
  • 506 Variant Also Negotiates
    ์„œ๋ฒ„์˜ ๋‚ด๋ถ€ ๊ตฌ์„ฑ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ.
  • 507 Insufficient Storage
    ์šฉ๋Ÿ‰์ด ๋ถ€์กฑํ•œ ๊ฒฝ์šฐ.
  • 508 Loop Detected
    ๋ฌดํ•œ ๋ฃจํ”„๊ฐ€ ๊ฐ์ง€๋œ ๊ฒฝ์šฐ.
  • 510 Not Extended
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ์„œ๋ฒ„์˜ ์ถ”๊ฐ€์ ์ธ ํ™•์žฅ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ.
  • 511 Network Authentication Required
    ๋„คํŠธ์›Œํฌ ์ฝ๊ธฐ ์‹œ๊ฐ„์ดˆ๊ณผ ์˜ค๋ฅ˜
  • 599 Network Connect Timeout Error
    ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์‹œ๊ฐ„์ดˆ๊ณผ ์˜ค๋ฅ˜

Return to the ToC

References