ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP/๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ
    codeStates front-end/node(server) 2023. 1. 30. 17:31
    ๋ฐ˜์‘ํ˜•

     

     

     

     

     

    ๐Ÿ“Œ HTTP/๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ

     

     

    ๐Ÿ“ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜

     

    ๋ฆฌ์†Œ์Šค๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ณณ๊ณผ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์•ฑ์„ ๋ถ„๋ฆฌ์‹œํ‚จ ๊ฒƒ์ด

    2ํ‹ฐ์–ด ์•„ํ‚คํ…์ฒ˜, ๋˜๋Š” ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค

    ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์•ฑ - ํด๋ผ์ด์–ธํŠธ(client) // ์นดํŽ˜๋กœ ์น˜๋ฉด ์†๋‹˜

    ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ณณ - ์„œ๋ฒ„(server) // ์ปคํ”ผ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ ์›

    -> ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ , ์‘๋‹ต์„ ๋ฐ›๋Š”๋‹ค

     

     

     

     

    ๐Ÿ”— 3-Tier ์•„ํ‚คํ…์ฒ˜

     

    ์ผ๋ฐ˜์ ์œผ๋กœ ์„œ๋ฒ„๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์ „๋‹ฌํ•ด ์ฃผ๋Š” ์—ญํ• ๋งŒ ๋‹ด๋‹น

    ๋ฆฌ์†Œ์Šค๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„ - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(์ฐฝ๊ณ ) 

    ์ฐฝ๊ณ ๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉด 3ํ‹ฐ์–ด ์•„ํ‚คํ…์ฒ˜๋ผ๊ณ  ๋ถ€๋ฆ„

     

     

     

     

     

    ๐Ÿ”— ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ

     

    ํ”„๋ก ํŠธ์—”๋“œ - ํด๋ผ์ด์–ธํŠธ์ฒ˜๋Ÿผ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋ˆˆ์œผ๋กœ ๋ณด๊ณ , UI๋ฅผ ํด๋ฆญ ๋˜๋Š” ํ„ฐ์น˜ํ•˜๋Š” ๋“ฑ์˜ ๊ฐœ๋ฐœ

    ๋ฐฑ์—”๋“œ -  ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š์ง€๋งŒ, ์ƒํ’ˆ ์ •๋ณด๋ฅผ API๋กœ ๋…ธ์ถœํ•œ๋‹ค๋“ ์ง€. ๋กœ๊ทธ์ธ/์•„์›ƒ ๋“ฑ ์‹œ์Šคํ…œ ์„ค๊ณ„๋ฅผ ๊ฐœ๋ฐœ

     

     

     

     

     

    ๐Ÿ”— ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์ข…๋ฅ˜

     

    ํด๋ผ์ด์–ธํŠธ๋Š” ํ”Œ๋žซํผ์— ๋”ฐ๋ผ ๊ตฌ๋ถ„

    ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์ฃผ๋กœ ์ด์šฉํ•˜๋Š” ์›น ํ”Œ๋žซํผ์—์„œ์˜ ํด๋ผ์ด์–ธํŠธ๋Š” ์›น์‚ฌ์ดํŠธ ๋˜๋Š” ์›น ์•ฑ

     

    ์„œ๋ฒ„๋Š” ๋ฌด์—‡์„ ํ•˜๋А๋ƒ์˜ ๋”ฐ๋ผ ๊ตฌ๋ถ„

    ํŒŒ์ผ์„ ์ œ๊ณตํ•˜๋Š” ์•ฑ, ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์•ฑ, ๋ฉ”์ผ์„ ์ฃผ๊ณ ๋ฐ›๋Š” ์•ฑ ๋“ฑ 

     

     

     

     

    ๐Ÿ“ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ ํ†ต์‹ ๊ณผ API

     

     

    ๐Ÿ”— ํ”„๋กœํ† ์ฝœ

     

    ํ†ต์‹  ๊ทœ์•ฝ, ์ฆ‰ ์•ฝ์†

    ์นดํŽ˜์—์„œ ์ฃผ๋ฌธ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ง€์ผœ์•ผ ํ•  ์•ฝ์†์ด ์กด์žฌ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ž

     

     

    ๐Ÿ”— ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ์ฝœ : HTTP

    ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ฒ˜์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์„œ๋กœ HTTP๋ผ๋Š” ํฌ๋กœํ† ์ฝœ์„ ์ด์šฉํ•ด

    ์„œ๋กœ ๋Œ€ํ™”๋ฅผ ๋‚˜๋ˆ„๊ณ  HTTP๋ฅผ ์ด์šฉํ•ด์šฉ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฉ”์‹œ์ง€๋ฅผ "HTTP ๋ฉ”์‹œ์ง€" ๋ผ๊ณ  ํ•œ๋‹ค

     

     

    ๐Ÿ”— ์ฃผ์š” ํ”„๋กœํ† ์ฝœ

     

     

     

     

    ๐Ÿ”— API(Application Programming Interface)

     

    ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฆฌ์†Œ์Šค๋ฅผ ์ž˜ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์žฌ๊ณต

    ์ธํ„ฐํŽ˜์ด์Šค๋ž€? ์˜์‚ฌ์†Œํ†ต์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๋งŒ๋“ค์–ด์ง„ ์ ‘์ 

     

    ๋ณดํ†ต ์ธํ„ฐ๋„ท์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•  ๋•Œ์—๋Š” HTTP๋ผ๋Š” ํฌ๋กœํ† ์ฝœ์„ ์‚ฌ์šฉ

    ์ฃผ์†Œ(url, uri)๋ฅผ ํ†ตํ•ด ์ ‘๊ทผ

     

    ์ด๋ฅผ ํ†ตํ•ด CRUD ์‚ฌ์šฉ

    • create, get, update, delete

    HTTP์š”์ฒญ์—๋Š” ๋ฉ”์„œ๋“œ ๋ผ๋Š” ๊ฒƒ์ด ์กด์žฌ

    • GET, POST, PUT, DELETE

    ์‚ฌ์šฉ ์šฉ๋„์— ๋”ฐ๋ผ์„œ ์ ์ ˆํ•˜๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

     

     

     

     

    ๐Ÿ“HTTP

     

    ๐Ÿ”— HTTP ํŠน์ง• : stateless(๋ฌด์ƒํƒœ์„ฑ)

     

    ์ƒํƒœ๋ฅผ ๊ฐ€์ง€์ง€ ์•Š๋Š”๋‹ค๋Š” ๋œป

    HTTP๋กœ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ํ†ต์‹ ์„ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ณผ์ •์—์„œ, HTTP๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋‚˜ ์„œ๋ฒ„์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š๋Š”๋‹ค
    ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•(์ฟ ํ‚ค-์„ธ์…˜, API ๋“ฑ)์„ ํ†ตํ•ด ์ƒํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค

     

     

     

    ๐Ÿ”— HTTP Messages

     

    HTTP Messages๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์‚ฌ์ด์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ตํ™˜๋˜๋Š” ๋ฐฉ์‹

    HTTP Messages์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์ด ์žˆ๋‹ค.

     

    • ์š”์ฒญ(Requests)
    • ์‘๋‹ต(Responses)

     

    start line : start line์—๋Š” ์š”์ฒญ์ด๋‚˜ ์‘๋‹ต์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋ƒ„ ํ•ญ์ƒ ์ฒซ ๋ฒˆ์งธ ์ค„์— ์œ„์น˜, ์‘๋‹ต์—์„œ๋Š” status line์ด๋ผ๊ณ  ํ•จ
    HTTP headers : ์š”์ฒญ์„ ์ง€์ •ํ•˜๊ฑฐ๋‚˜, ๋ฉ”์‹œ์ง€์— ํฌํ•จ๋œ ๋ณธ๋ฌธ์„ ์„ค๋ช…ํ•˜๋Š” ํ—ค๋”์˜ ์ง‘ํ•ฉ
    empty line : ํ—ค๋”์™€ ๋ณธ๋ฌธ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋นˆ ์ค„์ด ์žˆ๋‹ค
    body : ์š”์ฒญ๊ณผ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๋‚˜ ์‘๋‹ต๊ณผ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ ๋˜๋Š” ๋ฌธ์„œ๋ฅผ ํฌํ•จ ์š”์ฒญ๊ณผ ์‘๋‹ต์˜ ์œ ํ˜•์— ๋”ฐ๋ผ ์„ ํƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค

    ์ด ์ค‘ start line๊ณผ HTTP headers๋ฅผ ๋ฌถ์–ด ์š”์ฒญ์ด๋‚˜ ์‘๋‹ต์˜ ํ—ค๋“œ(head)๋ผ๊ณ  ํ•˜๊ณ , payload๋Š” body๋ผ๊ณ  ํ•œ๋‹ค.

     

     

     

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

Designed by Tistory.