Amenable
Amenable's Blog
Amenable
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (189)
    • ๐Ÿ“‚ JAVA (87)
      • ์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” (65)
      • ์ฃผ์š” ๊ฐœ๋… (22)
    • ๐Ÿ“‚ ๊ฐœ๋ฐœ ์„œ์  (22)
      • ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ (1)
      • ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด (2)
      • ํด๋ฆฐ ์ฝ”๋“œ (8)
      • ํ•จ๊ป˜ ์ž๋ผ๊ธฐ (1)
      • ๊ทธ๋ฆผ์œผ๋กœ ๋ฐฐ์šฐ๋Š” HTTP&Network Basic (10)
    • ๐Ÿ“‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (8)
      • ๊ฐœ๋… (8)
      • ๋ฌธ์ œํ’€์ด (0)
    • ๐Ÿ“‚ ๋„คํŠธ์›Œํฌ (14)
      • ๊ฐœ๋… (6)
      • ์„ฑ๊ณต๊ณผ ์‹คํŒจ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” 1%์˜ ๋„คํŠธ์›Œํฌ ์›๋ฆฌ (8)
    • ๐Ÿ“‚ ์Šคํ”„๋ง (13)
      • ๊ธฐ๋ณธ ๊ฐœ๋… (13)
    • ๐Ÿ“‚ WEB (5)
    • ๐Ÿ“‚ ์ž๋ฃŒ๊ตฌ์กฐ (12)
      • ๊ฐœ๋… (2)
      • ์ •๋ ฌ (8)
      • ํŠธ๋ฆฌ (2)
    • ๐Ÿ“‚ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (10)
      • ์ตœ์†Œ์‹ ์žฅํŠธ๋ฆฌ (2)
      • ์ตœ๋‹จ ๊ฒฝ๋กœ (2)
      • ๋ฌธ์ž์—ด (2)
      • ETC (4)
    • ๐Ÿ“‚ ์•Œ๊ณ ๋ฆฌ์ฆ˜_๋ฌธ์ œํ’€์ด (4)
      • BOJ_๋ฐฑ์ค€ (4)
    • ๐Ÿ“‚ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (3)
    • ๐Ÿ“‚ DevOps (2)
      • ๋ฐฐํฌ (2)
    • ๐Ÿ“‚ ํ›„๊ธฐ (8)
      • ์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค(ํ”„๋ฆฌ์ฝ”์Šค) (4)
      • 2023๋…„ (3)
      • 2024๋…„ (1)
    • ๐Ÿ“‚ ํšŒ๊ณ  (1)
      • 2023๋…„ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿš€ GitHub

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
Amenable
๐Ÿ“‚ ๊ฐœ๋ฐœ ์„œ์ /๊ทธ๋ฆผ์œผ๋กœ ๋ฐฐ์šฐ๋Š” HTTP&Network Basic

์ œ 2์žฅ. ๊ฐ„๋‹จํ•œ ํ”„๋กœํ† ์ฝœ HTTP

์ œ 2์žฅ. ๊ฐ„๋‹จํ•œ ํ”„๋กœํ† ์ฝœ HTTP
๐Ÿ“‚ ๊ฐœ๋ฐœ ์„œ์ /๊ทธ๋ฆผ์œผ๋กœ ๋ฐฐ์šฐ๋Š” HTTP&Network Basic

์ œ 2์žฅ. ๊ฐ„๋‹จํ•œ ํ”„๋กœํ† ์ฝœ HTTP

2023. 5. 30. 18:17

๐Ÿ“˜ 1. HTTP ๋ฉ”์‹œ์ง€ ๊ตฌ์กฐ

๐Ÿ”Ž 1. HTTP Requset ๊ตฌ์กฐ

  • Start Line
    [HTTP Method][Request Target][HTTP Version]๋กœ ๊ตฌ์„ฑ
    HTTP Method : ์š”์ฒญ์˜ ์˜๋„๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” GET, POST, PUT, DELETE ๋“ฑ์ด ํ•ด๋‹น
    Request Target : HTTP Request๊ฐ€ ์ „์†ก๋˜๋Š” ๋ชฉํ‘œ ์ฃผ์†Œ
    HTTP Version : version์— ๋”ฐ๋ผ์„œ Request ๋ฉ”์‹œ์ง€ ๊ตฌ์กฐ๋‚˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด์„œ version์„ ๋ช…์‹œํ•ด์•ผ ํ•จ
  • Http Headers
    ํ•ด๋‹น Request์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋ถ€๋ถ„
    ์š”์ฒญํ•˜๋ ค๋Š” ์„œ๋ฒ„ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„, ํฌํŠธ ๋ฒˆํ˜ธ, cookie, authorization ๋“ฑ์ด ์กด์žฌ
  • Empty Line
    Headers์˜ ๋์„ ๋นˆ ์ค„๋กœ ์‹๋ณ„
  • Body
    HTTP request๊ฐ€ ์ „์†กํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋ถ€๋ถ„

๐Ÿ”Ž 2. HTTP Response ๊ตฌ์กฐ

  • Status Line
    [HTTP Version][Status Code][Status Text]๋กœ ๊ตฌ์„ฑ
  • Http Headers
    ํ•ด๋‹น Response์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋ถ€๋ถ„
    ์ƒ๋žต ๊ฐ€๋Šฅ
  • Empty Line
    Headers์˜ ๋์„ ๋นˆ ์ค„๋กœ ์‹๋ณ„
  • Body
    HTTP Response๊ฐ€ ์ „์†กํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋ถ€๋ถ„
    ์ƒ๋žต ๊ฐ€๋Šฅ

 

 

๐Ÿ“˜ 2. HTTP๋Š” Stateless ํ•˜๋‹ค

  • HTTP๋Š” ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” Stateless ํ”„๋กœํ† ์ฝœ์ด๋‹ค.
  • ์ด๋Š” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋งค์šฐ ๋น ๋ฅด๊ณ  ํ™•์‹คํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฒ”์œ„์„ฑ(Scalability)์„ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ด์™€ ๊ฐ™์ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๊ณ„๋˜์–ด ์žˆ๋Š” ๊ฒƒ
  • ์ƒํƒœ๋ฅผ ๊ณ„์† ์œ ์ง€ํ•˜๊ณ  ์‹ถ์€ ์š”๊ตฌ์— ๋ถ€์‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฟ ํ‚ค(Cookie)๋ผ๋Š” ๊ธฐ์ˆ ์ด ๋„์ž…

 

 

 

๐Ÿ“˜ 3. ์š”์ฒญ URI๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ์‹๋ณ„

  • HTTP๋Š” URI(Uniform Resource Identifiers)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธํ„ฐ๋„ท์ƒ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์ง€์ •
GET http://amenable.tistory.com HTTP/1.1
  • ํŠน์ • ๋ฆฌ์†Œ์Šค๊ฐ€ ์•„๋‹Œ ์„œ๋ฒ„ ์ž์‹ ์—๊ฒŒ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์†ก์‹ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ฆฌํ€˜์ŠคํŠธ URI์— '*'์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
POST * HTTP/1.1

 

 

๐Ÿ“˜ 4. HTTP ๋ฉ”์„œ๋“œ

  • HTTP ๋ฉ”์„œ๋“œ๋ž€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ์˜ ๋ชฉ์  ๋ฐ ์ข…๋ฅ˜๋ฅผ ์•Œ๋ฆฌ๋Š” ์ˆ˜๋‹จ
  • ๋ฆฌ์†Œ์Šค์— ์ˆ˜ํ–‰ํ•˜๊ธธ ์›ํ•˜๋Š” ํ–‰๋™, ์„œ๋ฒ„๊ฐ€ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋™์ž‘์„ ์ง€์ •ํ•˜์—ฌ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•
๋ฉ”์„œ๋“œ ์„ค๋ช…
GET ๋ฆฌ์†Œ์Šค ํš๋“
POST ์—”ํ‹ฐํ‹ฐ ์ „์†ก
PUT ํŒŒ์ผ ์ „์†ก
HEAD ๋ฉ”์‹œ์ง€ ํ—ค๋” ์ทจ๋“
DELETE ํŒŒ์ผ ์‚ญ์ œ
OPTIONS ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š” ๋ฉ”์„œ๋“œ ๋ฌธ์˜
TRACE ๊ฒฝ๋กœ ์กฐ์‚ฌ
CONNECT ํ”„๋ก์‹œ์— ํ„ฐ๋„๋ง ์š”๊ตฌ

 

 

๐Ÿ“˜ 5. ์ง€์† ์—ฐ๊ฒฐ

  • ํ•˜๋‚˜์˜ HTML์— ์—ฌ๋Ÿฌ ์ด๋ฏธ์ง€๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ํ•˜๋ฉด HTML ๋ฌธ์„œ์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์ด๋ฏธ์ง€๋ฅผ ํš๋“ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์—ฌ๋Ÿฌ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์†ก์‹ 
  • ์ง€์† ์—ฐ๊ฒฐ์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋ณด๋‚ผ ๋•Œ๋งˆ๋‹ค ๋งค๋ฒˆ TCP ์—ฐ๊ฒฐ๊ณผ ์ข…๋ฃŒ๋ฅผ ํ•˜๊ฒŒ ๋˜๋Š” ์“ธ๋ชจ์—†๋Š” ์ผ์ด ๋ฐœ์ƒ๋˜์–ด ํ†ต์‹ ๋Ÿ‰์ด ๋Š˜์–ด๋‚˜๊ฒŒ ๋จ

 

  • ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ง€์† ์—ฐ๊ฒฐ(Persistent Connections)์ด๋ผ๋Š” ๋ฐฉ๋ฒ•์ด ๊ณ ์•ˆ
  • ์ง€์† ์—ฐ๊ฒฐ์„ ํ•˜๋ฉด TCP ์ปค๋„ฅ์…˜์˜ ์—ฐ๊ฒฐ๊ณผ ์ข…๋ฃŒ๋กœ ๋ฐ˜๋ณต๋˜๋Š” ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์— ๋Œ€ํ•œ ๋ถ€ํ•˜๊ฐ€ ๊ฒฝ๊ฐ
  • ๋˜ํ•œ, ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ธ ๋งŒํผ HTTP ๋ฆฌํ€˜์ŠคํŠธ์™€ ๋ฆฌ์Šคํฐ์Šค๊ฐ€ ๋น ๋ฅด๊ฒŒ ์™„๋ฃŒ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์›น ํŽ˜์ด์ง€๋ฅผ ๋น ๋ฅด๊ฒŒ ํ‘œ์‹œ ๊ฐ€๋Šฅ

 

 

๐Ÿ“˜ 6. ํŒŒ์ดํ”„๋ผ์ธํ™”(HTTP Pipelining)

  • ์ง€์† ์—ฐ๊ฒฐ์€ ์—ฌ๋Ÿฌ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํŒŒ์ดํ”„๋ผ์ธ(HTTP Pipelining)ํ™”๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ
  • ์ด๋ฅผ ํ†ตํ•ด ๋ฆฌ์Šคํฐ์Šค๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ๋‹ค์Œ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ
  • HTML ํ•œ ํŽ˜์ด์ง€์— 10๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ํฌํ•จํ•œ ์›น ํŽ˜์ด์ง€๋ฅผ ๋ฆฌํ€˜์ŠคํŠธํ•œ ๊ฒฝ์šฐ, ๊ฐœ๋ณ„ ์—ฐ๊ฒฐ๋ณด๋‹ค๋Š” ์ง€์† ์—ฐ๊ฒฐ์ด ๋น ๋ฅด๊ณ , ์ง€์† ์—ฐ๊ฒฐ๋ณด๋‹ค๋Š” ํŒŒ์ดํ”„๋ผ์ธํ™”๊ฐ€ ๋น ๋ฆ„ (๋ฆฌํ€˜์ŠคํŠธ์˜ ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚ ์ˆ˜๋ก ์ฐจ์ด๊ฐ€ ์ปค์ง)

 

 

๐Ÿ“˜ 7. ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•œ ์ƒํƒœ๊ด€๋ฆฌ

  • ์ฟ ํ‚ค๋ž€ ๋ฆฌํ€˜์ŠคํŠธ์™€ ๋ฆฌ์Šคํฐ์Šค์— ์ฟ ํ‚ค ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์Šคํ…œ
  • ์„œ๋ฒ„์—์„œ ๋ฆฌ์Šคํฐ์Šค๋กœ ๋ณด๋‚ด์ง„ Set-Cookie๋ผ๋Š” ํ—ค๋” ํ•„๋“œ์— ์˜ํ•ด ์ฟ ํ‚ค๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ๋ณด์กด
  • ๋‹ค์Œ๋ฒˆ์— ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฐ™์€ ์„œ๋ฒ„๋กœ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋ณด๋‚ผ ๋•Œ, ์ž๋™์œผ๋กœ ์ฟ ํ‚ค ๊ฐ’์„ ๋„ฃ์–ด์„œ ์†ก์‹ 
  • ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ด์˜จ ์ฟ ํ‚ค๋ฅผ ํ™•์ธํ•˜์—ฌ ์–ด๋А ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ ‘์†ํ–ˆ๋Š”์ง€ ํ™•์ธ ๊ฐ€๋Šฅ

 

[์ฐธ๊ณ  ์ž๋ฃŒ]
99C0RN ๋‹˜์˜ '[๊ฐ„๋‹จ์ •๋ฆฌ] HTTP Request/Response ๊ตฌ์กฐ'

'๐Ÿ“‚ ๊ฐœ๋ฐœ ์„œ์  > ๊ทธ๋ฆผ์œผ๋กœ ๋ฐฐ์šฐ๋Š” HTTP&Network Basic' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์ œ 6์žฅ. HTTP ํ—ค๋”  (0) 2023.05.31
์ œ 5์žฅ. HTTP์™€ ์—ฐ๊ณ„ํ•˜๋Š” ์›น ์„œ๋ฒ„  (0) 2023.05.31
์ œ 4์žฅ. ๊ฒฐ๊ณผ๋ฅผ ์ „๋‹ฌํ•˜๋Š” HTTP ์ƒํƒœ ์ฝ”๋“œ  (0) 2023.05.30
์ œ 3์žฅ. HTTP ์ •๋ณด๋Š” HTTP ๋ฉ”์‹œ์ง€์— ์žˆ๋‹ค.  (0) 2023.05.30
์ œ 1์žฅ. ์›น๊ณผ ๋„คํŠธ์›Œํฌ์˜ ๊ธฐ๋ณธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž  (0) 2023.05.30
  • ๐Ÿ“˜ 1. HTTP ๋ฉ”์‹œ์ง€ ๊ตฌ์กฐ
  • ๐Ÿ”Ž 1. HTTP Requset ๊ตฌ์กฐ
  • ๐Ÿ”Ž 2. HTTP Response ๊ตฌ์กฐ
  • ๐Ÿ“˜ 2. HTTP๋Š” Stateless ํ•˜๋‹ค
  • ๐Ÿ“˜ 3. ์š”์ฒญ URI๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ์‹๋ณ„
  • ๐Ÿ“˜ 4. HTTP ๋ฉ”์„œ๋“œ
  • ๐Ÿ“˜ 5. ์ง€์† ์—ฐ๊ฒฐ
  • ๐Ÿ“˜ 6. ํŒŒ์ดํ”„๋ผ์ธํ™”(HTTP Pipelining)
  • ๐Ÿ“˜ 7. ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•œ ์ƒํƒœ๊ด€๋ฆฌ
'๐Ÿ“‚ ๊ฐœ๋ฐœ ์„œ์ /๊ทธ๋ฆผ์œผ๋กœ ๋ฐฐ์šฐ๋Š” HTTP&Network Basic' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ์ œ 5์žฅ. HTTP์™€ ์—ฐ๊ณ„ํ•˜๋Š” ์›น ์„œ๋ฒ„
  • ์ œ 4์žฅ. ๊ฒฐ๊ณผ๋ฅผ ์ „๋‹ฌํ•˜๋Š” HTTP ์ƒํƒœ ์ฝ”๋“œ
  • ์ œ 3์žฅ. HTTP ์ •๋ณด๋Š” HTTP ๋ฉ”์‹œ์ง€์— ์žˆ๋‹ค.
  • ์ œ 1์žฅ. ์›น๊ณผ ๋„คํŠธ์›Œํฌ์˜ ๊ธฐ๋ณธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž
Amenable
Amenable
CS, ์ž๋ฐ”, ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์Šคํ”„๋ง, ์Šคํ”„๋ง ๋ถ€ํŠธ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐœ๋ฐœ์— ๊ด€ํ•œ ๋‚ด์šฉ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.