๋ฐ˜์‘ํ˜•

1. HTTP๊ฐ€ ๋ฌด์—‡?

    • HTTP๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์‚ฌ์ด์— ์ด๋ฃจ์–ด์ง€๋Š” ์š”์ฒญ/์‘๋‹ต(request/response) ํ”„๋กœํ† ์ฝœ์ด๋‹ค.  (?ํ”„๋กœํ† ์ฝœ : ํ†ต์‹ ๊ทœ์•ฝ)

์˜ˆ๋ฅผ ๋“ค๋ฉด, 

ํด๋ผ์ด์–ธํŠธ์ธ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ HTTP๋ฅผ ํ†ตํ•˜์—ฌ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์›นํŽ˜์ด์ง€๋‚˜ ๊ทธ๋ฆผ ์ •๋ณด๋ฅผ ์š”์ฒญํ•˜๋ฉด, 

์„œ๋ฒ„๋Š” ์ด ์š”์ฒญ์— ์‘๋‹ตํ•˜์—ฌ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ํ•ด๋‹น ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌํ•˜๊ฒŒ ๋œ๋‹ค. 

 

์ด ์ •๋ณด๊ฐ€ ๋ชจ๋‹ˆํ„ฐ์™€ ๊ฐ™์€ ์ถœ๋ ฅ ์žฅ์น˜๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒƒ์ด๋‹ค.

HTTP๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋˜๋Š” ์ž๋ฃŒ๋Š” http:๋กœ ์‹œ์ž‘ํ•˜๋Š” URL(์ธํ„ฐ๋„ท ์ฃผ์†Œ)๋กœ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„ ์—๋‹ค๊ฐ€ ์š”์ฒญ(request)์„ ํ•˜๊ณ  ์‘๋‹ต(response)์„ ๋ฐ›๊ธฐ ์œ„ํ•ด์„  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

  • TCP/IP๋Š” ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ ๊ด€๋ จ ์ง‘ํ•ฉ์„ ์ด์นญํ•œ๋‹ค. (TCP, IP, FTP, SFTP, HTTP..)
  • HTTP๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ„์˜ ํ†ต์‹ ์„ ํ•œ๋‹ค.
  • HTTP๋Š” ๋ฒ„์ „์ด ์กด์žฌํ•œ๋‹ค.
  • ์š”์ฒญ(request)๊ณผ ์‘๋‹ต(response)์„ ๊ตํ™˜ํ•˜์—ฌ ์„ฑ๋ฆฝํ•œ๋‹ค.
- ์š”์ฒญ๋ฉ”์„ธ์ง€์— ๋ฉ”์†Œ๋“œ(=๋ช…๋ น),  URI,  ํ”„๋กœํ† ์ฝœ๋ฒ„์ „(=http ๋ฒ„์ „),  ์š”์ฒญํ—ค๋”ํ•„๋“œ ๋“ฑ์„ ๋งŒ๋“ค์–ด์„œ ์ „๋‹ฌ.
- ์‘๋‹ต๋ฉ”์„ธ์ง€์—๋Š” ์š”์ฒญ๊ฒฐ๊ณผ์—๋Œ€ํ•œ ์ƒํƒœ์ฝ”๋“œ๊ฐ’(=202, 404..),  ํ”„๋กœํ† ์ฝœ๋ฒ„์ „(=http ๋ฒ„์ „),  ๋ฐ”๋””(=์†Œ์Šค๋ณธ์ฒด html..)..๋“ฑ์„ ๋งŒ๋“ค์–ด์„œ ์ „๋‹ฌ.
 
  • HTTP๋Š” ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š”๋‹ค.
    • ํ”„๋กœํ† ์ฝœ์€ ๊ณผ๊ฑฐ๊ธฐ์–ต์„ ๋ชปํ•œ๋‹ค(=์š”์ฒญ ์‘๋‹ต ์ฒ˜๋ฆฌ ํ›„๋ฅผ ๊ธฐ์–ต ๋ชปํ•จ). ๊ทธ๋ž˜์„œ ๋Œ€์•ˆ์œผ๋กœ ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
 
  • URI๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ์ง€์ •. ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์ธํ„ฐ๋„ท์ƒ์˜ ์–ด๋–ค ๋ฆฌ์†Œ์Šค๋ฅผ ํ˜ธ์ถœ ๊ฐ€๋Šฅ.
  • ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ง€์‹œํ•œ๋‹ค.
    • GET, POST, PUT, HEAD, DELETE, OPTION, TRACE, CONNECT, LINK, UNLINK...
  • ์ง€์†์—ฐ๊ฒฐ
    • TCP๋ฅผ ์ข…๋ฃŒํ•˜์ง€ ์•Š์•„ ํ•œ๋ฒˆ์— ๋งŽ์€์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ํ•จ.
  • ํŒŒ์ดํ”„๋ผ์ธํ™”
    • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ ํ›„, ์‘๋‹ต ์•ˆ๊ธฐ๋‹ค๋ฆฌ๊ณ  ๋ฐ”๋กœ ๋‹ค๋ฅธ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ.
    • ์ด๋ฏธ์ง€ 10์žฅ์ด ํ•œ๋ฒˆ์— ๋‚˜์˜ค๋Š” ์˜ˆ
 
2. HTTP ๋‹จ์ 
    • HTTP๋ฅผ ์‚ฌ์šฉํ•œ ์š”์ฒญ์ด๋‚˜ ์‘๋‹ต์€ ์ž๊ธฐ์ž์‹ ์„ ์•”ํ˜ธํ™”ํ•˜์ง€ ์•Š๋Š”๋‹ค. (๋„์ฒญ ๋‹นํ•  ๊ฐ€๋Šฅ์„ฑ)
    • ํ†ต์‹  ์ƒ๋Œ€๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š๋Š”๋‹ค. (๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์œ„์žฅ ํ•  ์ˆ˜ ์žˆ๋‹ค)
    • ๊ทธ๋ž˜์„œ ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ HTTPS ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ.
      • HTTPS๋Š” ์ƒˆ๋กœ์šด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ์ฝœ์€ ์•„๋‹ˆ๋ฉฐ,
      • HTTP ํ†ต์‹  ์†Œ์ผ“๋ถ€๋ถ„์„ SSL(Secure Socket Layer) or TLS(Transport Layer Security) ํ”„๋กœํ† ์ฝœ๋กœ ๋Œ€์ฒดํ•˜๊ณ  ์žˆ์Œ.
      • HTTPS๋Š” http+ssl+tcp/ip ์ธ์…ˆ
 
      • ๋ณ‘๋ชฉํ˜„์ƒ์ด ์žˆ์Œ
      • ์„œ๋ฒ„์˜ ์ •๋ณด๊ฐ€ ๊ฐฑ์‹  ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋งค๋ฒˆ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ํ™•์ธ์š”์ฒญ์„ ํ•ด์•ผํ•จ. (ํ†ต์‹ ์–‘์ด ๋งŽ์•„์งˆ๊ฒƒ์ž„)
      • 1๊ฐœ์˜ ์—ฐ๊ฒฐ๋กœ 1๊ฐœ์˜ ์š”์ฒญ๋งŒ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ
      • ๋ฌด์กฐ๊ฑด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—์„œ ์š”์ฒญ์„ ๋ณด๋‚ผ์ˆ˜ ์žˆ์Œ. ์‘๋‹ต๋งŒ ๋ฐ›๋Š”๊ฒƒ์€ ์•ˆ๋จ.

 

3. WebSocket
    • ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ ํ•œ๋‹ค.
    • ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„ ์—๋‹ค๊ฐ€ ์›น์†Œ์ผ“ ์—ฐ๊ฒฐ ์š”์ฒญ์„ ํ•˜์—ฌ ์ ‘์†ํ™•๋ฆฝ์ด ๋˜๋ฉด ์—ฐ๊ฒฐ์„ ๋Š์ง€ ์•Š๊ณ , ์–ด๋Š์ชฝ์—์„œ๋“ ์ง€ ์†ก์‹ ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์ด ๋จ.
    • ์„œ๋ฒ„ ํ‘ธ์‹œ๊ธฐ๋Šฅ์ด์žˆ์Œ.
    • ํ†ต์‹ ๋Ÿ‰์ด ์ค„์–ด๋“ฌ(ํ•œ๋ฒˆ ์—ฐ๊ฒฐํ•˜๋ฉด ์ ‘์†์„ ์œ ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ ์–ด์ง)
    • ํ•ธ๋“œ์‰์ดํฌ

 

- ์ฐธ๊ณ  

 

๋ฐ˜์‘ํ˜•

'๊ฐœ๋ฐœ > etc' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

SSE (Server Sent Event)  (1) 2023.08.20
Vault  (1) 2023.02.07
ํ—ฅ์‚ฌ๊ณ ๋‚  ์•„ํ‚คํ…์ฒ˜ (Hexagonal Architecture)  (2) 2022.09.25
JWT (JSON WEB TOKEN)  (0) 2021.12.22
Rest API  (0) 2021.06.02

+ Recent posts