About Network8 7th Layer Http

๋„คํŠธ์›Œํฌ

HTTP

www์—์„œ ์“ฐ์ด๋Š” ํ•ต์‹ฌ ํ”„๋กœํ† ์ฝœ, ๋ฌธ์„œ์˜ ์ „์†ก์„ ์œ„ํ•ด ์“ฐ์ด๋ฉฐ, ์Œ์„ฑ, ํ™”์ƒ ๋“ฑ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ MIME๋กœ ์ •์˜ ํ•˜์—ฌ ์ „์†ก ๊ฐ€๋Šฅ ํ•˜๋‹ค.

HTTP๋Š” Request / Resoponse ๋™์ž‘์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ์„œ๋น„์Šค ์ œ๊ณตํ•œ๋‹ค.

  • ์ดˆ๊ธฐ ๋ฒ„์ „ 1.0
    • ์ดˆ๊ธฐ์˜ ๊ฐ„๋‹จํ•œ ์›น ํŽ˜์ด์ง€์—์„œ๋Š” 3 Way Handshake๋ฅผ ํ•œ๋’ค, HTTP๋ฅผ ์š”์ฒญ, ์‘๋‹ต์„ ๋ฐ›๊ณ  ์—ฐ๊ฒฐ ์ข…๋ฃŒ ํ›„ ๋‹ค์‹œ ์œ„ ๋‚ด์šฉ์„ ๋ฐ˜๋ณต์„ ํ•จ -> ์„œ๋ฒ„์˜ ๋ถ€ํ•˜
  • ํ˜„์žฌ ๋ฒ„์ „ 1.1
    • ์ „ ๋ฒ„์ „์˜ ๋ฌธ์ œ์ ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์—ฐ๊ฒฐ์ด ๋˜์—ˆ์œผ๋ฉด, ๋ชจ๋“  ์š”์ฒญ, ์‘๋‹ต์ด ๋๋‚ ๋•Œ ๊นŒ์ง€ ๊ณ„์† ์—ฐ๊ฒฐ์„ ์‹œ์ผœ๋†จ๋‹ค๊ฐ€ ๋งˆ์ง€๋ง‰์— ๋Š๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ
  • HTTP ํ”„๋กœํ† ์ฝœ์˜ ๊ตฌ์กฐ๋Š” ์‚ฌ๋žŒ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋กœ ์‚ฌ์šฉ

    ์š”์ฒญ ํ”„๋กœํ† ์ฝœ ๊ตฌ์กฐ
    REQUEST LINE
    HEADERS
    EMPTY
    BODY

REQUEST

  • ( ์š”์ฒญํƒ€์ž… ๊ณต๋ฐฑ URI ๊ณต๋ฐฑ HTTP๋ฒ„์ „ )

image-20211003220511916.png

  • GET์€ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญ ํ•  ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋ฉด์„œ ์š”์ฒญ ํ•  ์ˆ˜ ์žˆ์Œ
    • URI๋กœ (?๋’ค์— ์ฟผ๋ฆฌ๋กœ ์š”์ฒญ)
    • ๋ฐ์ดํ„ฐ๊ฐ€ ๋…ธ์ถœ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ๋Š” GET์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ
  • POST ๋ฐฉ์‹์€ ์ค‘์š” ๋ฐ์ดํ„ฐ๋ฅผ BODY์— ์ˆจ๊ฒจ์„œ ๋ณด๋ƒ„
    • ํŒจํ‚ท์„ ์บก์ณํ•˜๋ฉด ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์š”์ฆ˜ HTTPS๋ฅผ ์‚ฌ์šฉ
  • URI๋Š” ์ž์›์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ฃผ์†Œ๊ฐ’(์ „์ฒด ๊ฐ’)
    • ex)https://www.naver.com/webtoon/list.ngn?titleId=1111111&weekday=thursday
    • scheme ://host :port /path ?query
  • URL์€ ์ฟผ๋ฆฌ๋ฅผ ์ œ์™ธํ•œ ์•ž์˜ ๊ฐ’๋“ค
    • ex)https://www.naver.com/webtoon/list.ngn
์‘๋‹ต ํ”„๋กœํ† ์ฝœ ๊ตฌ์กฐ
STATUS LINE
HEADERS
EMPTY
BODY(๋ฐ์ดํ„ฐ)

RESPONSE

  • ( HTTP๋ฒ„์ „ ๊ณต๋ฐฑ ์ƒํƒœ์ฝ”๋“œ ๊ณต๋ฐฑ ์ƒํƒœ๋ฌธ๊ตฌ )

image-20211003223339695.png

  • 200๋ฒˆ ๋Œ€: ์ •์ƒ์ ์ธ ์ƒํƒœ
    • 200 : ์ •์ƒ
  • 400๋ฒˆ ๋Œ€ : Client์ธก์˜ ์—๋Ÿฌ
    • 403 Forbidden : Client๊ฐ€ ๊ถŒํ•œ์ด ์—†๋Š” ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ–ˆ์„ ๋•Œ
    • 404 Not Found : Client๊ฐ€ ์„œ๋ฒ„์— ์—†๋Š” ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ–ˆ์„ ๋•Œ
  • 500๋ฒˆ ๋Œ€ : Server์ธก์˜ ์—๋Ÿฌ
    • 500 Internal Server Error : Server์˜ ์ผ๋ถ€๊ฐ€ ๋ฉˆ์ท„๊ฑฐ๋‚˜ ์„ค์ • ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒ
    • 503 Service Unavaildable : ์ตœ๋Œ€ Session์ˆ˜๋ฅผ ์ดˆ๊ณผํ–ˆ์„ ๋•Œ
  • Content-Length : ๋ฉ”์‹œ์ง€ ๋ฐ”๋”” ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ ์“ฐ์ž„
  • Content-Type : ๋ฉ”์‹œ์ง€ ๋ฐ”๋””์— ๋“ค์–ด์žˆ๋Š” ์ปจํ…์ธ  ์ข…๋ฅ˜(HTML๋ฌธ์„œ๋Š” text/html)

  • HEADER TYPES
    • Cookie : ์„œ๋ฒ„๋กœ ๋ถ€ํ„ฐ ๋ฐ›์€ ์ฟ ํ‚ค๋ฅผ ๋‹ค์‹œ ์„œ๋ฒ„์—๊ฒŒ ๋ณด๋‚ด์ฃผ๋Š” ์—ญํ™œ
    • Host : ์š”์ฒญ๋œ URL์— ๋‚˜ํƒ€๋‚œ ํ˜ธ์ŠคํŠธ๋ช…์„ ์ƒ์„ธํ•˜๊ฒŒ ํ‘œ์‹œ
    • User-Agent : Client Program์— ๋Œ€ํ•œ ์‹๋ณ„ ๊ฐ€๋Šฅ ์ •๋ณด๋ฅผ ์ œ๊ณต
  • ์‘๋‹ตํ—ค๋” : ์„œ๋ฒ„์˜ ์ •๋ณด์„ ๋‹ด๊ณ  ์žˆ์Œ
    • Server : ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์›น์„œ๋ฒ„์˜ ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•œ ์ •๋ณด
    • Set-Cookie : ์ฟ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ €์— ๋ณด๋‚ผ ๋–„ ์‚ฌ์šฉ, ํ•ด๋‹น ์ฟ ํ‚ค ๊ฐ’์„ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ๋‹ค์‹œ ๋ณด๋‚ผ ๋•Œ ์‚ฌ์šฉ

์•ฝ์–ด

  • HTTP : Hypertext Transfer Protocol
  • HTTPS : Hypertext Transfer Protocol over Secure Sockets Layer
  • URI : Uniform Resource Identifier