๐Ÿ›ผ study/๐ŸŒŽ cs

[cs] ์›น ๊ฐœ๋ฐœ ๊ธฐ๋ณธ ๊ฐœ๋…

jcowwk 2024. 4. 17. 15:38

์›น ๊ฐœ๋ฐœ ๊ธฐ๋ณธ ๊ฐœ๋…


์›น ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ •๋ฆฌํ•œ ๋‚ด์šฉ ์ž…๋‹ˆ๋‹ค !

์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š” :)

 

1. ์›น

2. URL

3. HTTP

4. JSON, Content-type ํ—ค๋”

5. Web API, REST API

6. Request(GET, POST, PUT, DELETE)

7. Response(status code)


1. ์›น

World Wide Web์œผ๋กœ ์ „ ์„ธ๊ณ„์ ์ธ ์—ฐ๊ฒฐ๋ง์ด๋‹ค.

ํด๋ผ์ด์–ธํŠธ -> ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ , ์„œ๋ฒ„ -> ํด๋ผ์ด์–ธํŠธ ์‘๋‹ตํ•˜๋Š” ๊ตฌ์กฐ์ด๋‹ค.

 

2. URL

Uniform Resource Locator์œผ๋กœ ๊ทœ๊ฒฉํ™”๋œ ๋ฆฌ์†Œ์Šค ๊ฒ€์ƒ‰์ž์ด๊ณ , ์›น์— ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ค‘ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด์ด๋‹ค.

https:// + www.naver.com + /member/login + ?page=2 ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

 

- https

์Šคํ‚ด์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ถ€๋ถ„์ด๋‹ค.

ํ”„๋กœํ† ์ฝœ์„ ์ง€์ •ํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.

 

ํ”„๋กœํ† ์ฝœ์€ ํ†ต์‹ ์„ ํ•˜๋Š” ๋‘ ์ฃผ์ฒด๊ฐ€ ์ง€์ผœ์•ผ ํ•˜๋Š” ํ†ต์‹  ๊ทœ์•ฝ์ด๋‹ค.

ํŠน์ •ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ http๋ผ๋Š” ํ”„๋กœํ† ์ฝœ์„ ์ง€ํ‚ค๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

 

- www.naver.com

ํ˜ธ์ŠคํŠธ(๋„๋ฉ”์ธ)์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ถ€๋ถ„์ด๋‹ค.

์ „ ์„ธ๊ณ„์˜ ๋งŽ์€ ์„œ๋ฒ„ ์ค‘ ํ•˜๋‚˜์˜ ์„œ๋ฒ„๋ฅผ ํŠน์ •ํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.

 

- /member/login

๊ฒฝ๋กœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ถ€๋ถ„์ด๋‹ค.

์„œ๋ฒ„ ์•ˆ์— ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ์—์„œ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.

 

- ?page=2

์ฟผ๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ถ€๋ถ„์ด๋‹ค.

์ฟผ๋ฆฌ๋Š” ์กด์žฌํ•  ์ˆ˜๋„ ์žˆ๊ณ  ์•Š์„ ๋•Œ๋„ ์žˆ์œผ๋ฉฐ ๋ฐ์ดํ„ฐ์— ๊ด€ํ•œ ์„ธ๋ถ€์ ์ธ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

ํด๋ผ์ด์–ธํŠธ(html) ๋ถ€๋ถ„์—์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค.

 

3. HTTP

HTTP๋Š” ํ”„๋กœํ† ์ฝœ์˜ ํ•œ ์ข…๋ฅ˜์ด๋‹ค.

 

ํ•˜์ดํผํ…์ŠคํŠธ๋ฅผ ์›น ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„ ์‚ฌ์ด์—์„œ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

์š”์ฆ˜์—๋Š” ์ด๋ฏธ์ง€, ๋™์˜์ƒ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค.

https๋Š” http์— ๋ณด์•ˆ์„ฑ์ด ๋”ํ•ด์ง„ ํ”„๋กœํ† ์ฝœ์œผ๋กœ http๋ณด๋‹ค ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

 

4. JSON, Content-type ํ—ค๋”

- JSON

์„œ๋ฒ„๊ฐ€ ๋ณด๋‚ด์ฃผ๋Š” ์‘๋‹ต ํฌ๋งท์ด๋‹ค.

์–ด๋– ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ์ดํ„ฐ๋กœ ์‘๋‹ตํ•  ๋•Œ JSON ํ˜•ํƒœ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฌธ๋ฒ•๊ณผ ๋น„์Šทํ•˜๋‹ค.

ํ‚ค-๊ฐ’ ์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

JSON ๋ฐ์ดํ„ฐ๋Š” String ํƒ€์ž…์ด๊ณ , JSON.parse(JSON๋ฐ์ดํ„ฐ)๋ฅผ ํ†ตํ•ด ์—ญ์งˆ๋ ฌํ™”๋ฅผ ํ•˜์—ฌ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

String ํƒ€์ž…์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด๋ฅผ JSON ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜(์ง๋ ฌํ™”)ํ•  ๋•Œ๋Š” JSON.stringify(๊ฐ์ฒด์ด๋ฆ„)์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

- Content-type ํ—ค๋”

request ๋˜๋Š” response์— ๋“ค์–ด์žˆ๋Š” body์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ค ํƒ€์ž…์ธ์ง€ ๋‚˜ํƒ€๋‚ธ๋‹ค.

Context-type ํ—ค๋” ๊ฐ’์€ ์ฃผ ํƒ€์ž…/์„œ๋ธŒ ํƒ€์ž… ํ˜•์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค.

๋งŒ์•ฝ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋ฅผ ๋ณด๋‚ธ๋‹ค๋ฉด text/plain, css ์ฝ”๋“œ๋ฉด text/css๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

JSON ๋ฐ์ดํ„ฐ๋Š” application/json์œผ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค.

 

5. Web API, REST API

- Web API

Web API๋Š” ์–ด๋–ค request๊ฐ€ ์ผ์–ด๋‚ฌ์„ ๋•Œ, ๋ฌด์Šจ response๊ฐ€ ์˜ค๋Š”์ง€์— ๋Œ€ํ•ด ์ •ํ•ด์ง„ ๊ทœ๊ฒฉ์ด๋‹ค.

์ด๋Ÿฌํ•œ API๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์ด Web API ์„ค๊ณ„์ด๋‹ค.

 

- REST API

Web API๋ฅผ ์„ค๊ณ„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ€์ด๋“œ๋ผ์ธ์ด๋‹ค.

REST ๊ตฌ์กฐ๋Š” client-server, stateless, cache, uniform interface, layered system, code on demand๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.

์œ„์˜ 6๊ฐ€์ง€ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ค€์ˆ˜ํ•˜์—ฌ ๋งŒ๋“  ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด RESTful ์„œ๋น„์Šค์ด๋‹ค.

 

6. Request(GET, POST, PUT, DELETE)

request์˜ ์ข…๋ฅ˜์—๋Š” GET, POST, PUT, DELETE๊ฐ€ ์žˆ๋‹ค.

request์—๋Š” head์™€ body๊ฐ€ ์กด์žฌํ•œ๋‹ค.

 

- head

๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜์—ฌ ์—ฌ๋Ÿฌ ์ •๋ณด๊ฐ€ ์žˆ๋‹ค.

ํ—ค๋“œ ์•ˆ์— ๋“ค์–ด๊ฐ€๋Š” ๊ฐ๊ฐ์˜ ์ •๋ณด๋ฅผ ํ—ค๋”๋ผ๊ณ  ํ•œ๋‹ค.

 

- body

์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š” ๋ถ€๋ถ„(JSON ๋ฐ์ดํ„ฐ)

POST, PUT์„ ํ•  ๋•Œ ํ•„์š”ํ•˜๋‹ค.

 

7. Response(status code)

status code๋Š” head์— ๋‹ด๊ฒจ์˜ค๋Š” ์ƒํƒœ ์ฝ”๋“œ์ด๋‹ค.

์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์˜ ์ƒํƒœ๋ฅผ ์ฝ”๋“œ๋กœ ํ‘œํ˜„ํ•˜๊ณ , 100๋ฒˆ๋Œ€~500๋ฒˆ๋Œ€๊นŒ์ง€ ์กด์žฌํ•œ๋‹ค.

 

- 100๋ฒˆ๋Œ€

์„œ๋ฒ„->ํด๋ผ์ด์–ธํŠธ ์ •๋ณด์„ฑ ์‘๋‹ต

 

- 200๋ฒˆ๋Œ€

ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ์„ฑ๊ณต

 

- 300๋ฒˆ๋Œ€

ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ์•„์ง ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š๊ณ , ์ฒ˜๋ฆฌ๋ฅผ ์›ํ•˜๋ฉด ์ถ”๊ฐ€ ์ž‘์—…์ด ํ•„์š”ํ•จ์„ ์˜๋ฏธ

 

- 400๋ฒˆ๋Œ€

ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ

 

- 500๋ฒˆ๋Œ€

์„œ๋ฒ„์—์„œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ


๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ๋งŒ๋‚˜์š” !