๐Ÿ’ป CS

๐Ÿ’ป CS/WEB

[HTTP] - HTTP ๋ฉ”์„œ๋“œ

๊น€์˜ํ•œ๋‹˜์˜ ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹์„ ์ˆ˜๊ฐ•ํ•˜๋ฉด์„œ ์ •๋ฆฌํ•œ ๋‚ด์šฉ ์ž…๋‹ˆ๋‹ค. 1. HTTP API ๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ธฐ ํšŒ์› ์ •๋ณด ๊ด€๋ฆฌ API ์„ค๊ณ„ 1. ํšŒ์› ๋ชฉ๋ก ์กฐํšŒ : /read-member-list 2. ํšŒ์› ์กฐํšŒ : /read-member-by-id 3. ํšŒ์› ๋“ฑ๋ก : /create-member 4. ํšŒ์› ์ˆ˜์ • : /update-member 5. ํšŒ์› ์‚ญ์ œ : /delete-member โžก๏ธ ์š”๊ตฌ์‚ฌํ•ญ ๊ธฐ๋ฐ˜์œผ๋กœ API ๋ฅผ ๋งŒ๋“ค๋ฉด ์œ„์™€ ๊ฐ™์ด ํ˜„์—…์—์„œ ์ž˜๋ชป๋œ API URI ์„ค๊ณ„๋ฅผ ํ•ฉ๋‹ˆ๋‹ค. 1.1 API ์„ค๊ณ„ ๋ถ„๋ฆฌ ๋ฆฌ์†Œ์Šค : ํšŒ์› ํ–‰์œ„ : ์กฐํšŒ, ๋“ฑ๋ก, ์ˆ˜์ •, ์‚ญ์ œ โžก๏ธ API ์„ค๊ณ„ ํ•  ๋•Œ ๋ฆฌ์†Œ์Šค์™€ ํ•ด๋‹น ๋ฆฌ์†Œ์Šค๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ํ–‰์œ„๋ฅผ ๋ถ„๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โžก๏ธ ํšŒ์›์ด๋ผ๋Š” ๋ฆฌ์†Œ์Šค๋งŒ ์‹๋ณ„ํ•˜๊ณ  ํ•ด๋‹น ๋ฆฌ์†Œ์Šค..

๐Ÿ’ป CS/WEB

[HTTP] - HTTP ?

๊น€์˜ํ•œ๋‹˜์˜ ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹์„ ์ˆ˜๊ฐ•ํ•˜๋ฉด์„œ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 1. HTTP(HyperText Transfer Protocol) ๋ฌธ์„œ ๊ฐ„์˜ ๋งํฌ๋ฅผ ํ†ตํ•ด์„œ ํ•˜์ดํผํ…์ŠคํŠธ ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด์„œ ์—ฐ๊ฒฐํ•˜๋Š” ํ”„๋กœํ† ์ฝœ ์ž…๋‹ˆ๋‹ค. HTTP ํ”„ํ† ํ† ์ฝœ์— HTML, TEXT, IMAGE, ์Œ์„ฑ, ์˜์ƒ, ํŒŒ์ผ, JSON, XML (API) ๋“ฑ ๋ชจ๋“  ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์•„์„œ ์ „์†ก์ด ๊ฐ€๋Šฅํ•˜๊ณ  ์‹ฌ์ง€์–ด ์„œ๋ฒ„๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ๋„ ์‚ฌ์šฉ ํ•ฉ๋‹ˆ๋‹ค. 1.1 HTTP ์—ญ์‚ฌ 1. HTTP/0.9 (1991๋…„) : GET ๋ฉ”์„œ๋“œ๋งŒ ์ง€์›, HTTP ํ—ค๋”X 2. HTTP/1.0 (1996๋…„) : ๋ฉ”์„œ๋“œ, ํ—ค๋” ์ถ”๊ฐ€ 3. HTTP/1.1 (1997๋…„) : ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์šฐ๋ฆฌ์—๊ฒŒ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ฒ„์ „ * RFC2068 (1997๋…„..

๐Ÿ’ป CS/WEB

[HTTP] - URI์™€ ์›น ๋ธŒ๋ผ์šฐ์ € ์š”์ฒญ ํ๋ฆ„

๊น€์˜ํ•œ๋‹˜์˜ ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹์„ ์ˆ˜๊ฐ•ํ•˜๋ฉด์„œ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 1. URI (Uniform Resource Identifier) Uniform : ๋ฆฌ์†Œ์Šค ์‹๋ณ„ํ•˜๋Š” ํ†ต์ผ๋œ ๋ฐฉ์‹ ์ž…๋‹ˆ๋‹ค. Resource : URI๋กœ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฑธ ์ž์›์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์›น ๋ธŒ๋ผ์šฐ์ €์— ์žˆ๋Š” HTML์˜ ํŒŒ์ผ ๊ฒƒ๋งŒ ์ž์›์„ ๋œปํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์‹ค์‹œ๊ฐ„ ๊ตํ†ต ์ •๋ณด ๋“ฑ๋“ฑ ์ด๋Ÿฐ๊ฒƒ๋„ ์ž์›์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Idenrifier : ๋‹ค๋ฅธ ํ•ญ๋ชฉ๊ณผ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ •๋ณด. ์‚ฌ๋žŒ์„ ์‹๋ณ„ํ•  ๋•Œ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ๋ฅผ ์‹๋ณ„ ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ. URL (Uniform Resource Locator) Locator : ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ๋Š” ์œ„์น˜๋ฅผ ์ง€์ • ํ•ฉ๋‹ˆ๋‹ค. URN (Uniform Resource Name) Name : ๋ฆฌ์†Œ์Šค์— ์ด๋ฆ„์„ ๋ถ€์—ฌ ํ•ฉ๋‹ˆ๋‹ค..

๐Ÿ’ป CS/WEB

[HTTP] - ์ธํ„ฐ๋„ท ๋„คํŠธ์›Œํฌ

๊น€์˜ํ•œ๋‹˜์˜ ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹์„ ์ˆ˜๊ฐ•ํ•˜๋ฉด์„œ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 1. ์ธํ„ฐ๋„ท ํ†ต์‹  ์ธํ„ฐ๋„ท๋ง์—์„œ ์ปดํ“จํ„ฐ๋“ค์€ ์–ด๋–ป๊ฒŒ ํ†ต์‹ ํ• ๊นŒ โ“ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ๊ฐ€๊นŒ์ด ์žˆ์œผ๋ฉด ์ผ€์ด๋ธ”๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ํ†ต์‹  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„ ๋‘ ์‚ฌ์ด๊ฐ€ ๋ฉ€๊ธฐ ๋•Œ๋ฌธ์— ์ธํ„ฐ๋„ท๋ง ์„ ํ†ตํ•ด์„œ ๋ฉ”์„ธ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ธํ„ฐ๋„ท๋ง ๋‚ด๋ถ€๋Š” ์ˆ˜๋งŽ์€ ์ค‘๊ฐ„ ๋…ธ๋“œ(์„œ๋ฒ„)๋ฅผ ๊ฑฐ์ณ ๋ฉ”์„ธ์ง€๊ฐ€ ์„œ๋ฒ„(๋ชฉ์ ์ง€)๋กœ ์ „๋‹ฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋– ํ•œ ๊ทœ์น™์„ ๊ฐ€์ง€๊ณ  ๋…ธ๋“œ๋“ค์„ ์ง€๋‚˜ ์ „๋‹ฌ๋˜๋Š”์ง€ ์ง€๊ธˆ๋ถ€ํ„ฐ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 2. IP (์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ) โœ” ๋ฉ”์„ธ์ง€๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ํด๋ผ์ด์–ธํŠธ(์ถœ๋ฐœ์ง€) ์™€ ์„œ๋ฒ„(๋ชฉ์ ์ง€) IP์ฃผ์†Œ๊ฐ€ ๋ถ€์—ฌ๋œ ์ƒํƒœ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. IP(์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ) ์—ญํ•  ์ง€์ •ํ•œ IP ์ฃผ์†Œ์— ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ํŒจํ‚ท(Packet) ์ด๋ผ๋Š” ํ†ต์‹  ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ ..

๐Ÿ’ป CS/WEB

[HTTP] - HTTP status code

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ๊ทธ ์š”์ฒญ์˜ ๊ฒฐ๊ณผ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋˜์—ˆ๋Š”์ง€๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ HTTP status code 10x : ์ •๋ณด ํ™•์ธ 20x : ํ†ต์‹  ์„ฑ๊ณต 30x : ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ 40x : ํด๋ผ์ด์–ธํŠธ ์˜ค๋ฅ˜ 50x : ์„œ๋ฒ„ ์˜ค๋ฅ˜ โœ” 200๋ฒˆ๋Œ€ : ํ†ต์‹  ์„ฑ๊ณต ์ƒํƒœ์ฝ”๋“œ ์ด๋ฆ„ ์˜๋ฏธ 200 OK ์š”์ฒญ ์„ฑ๊ณต(GET) 201 Create ์ƒ์„ฑ ์„ฑ๊ณต(POST) 202 Accepted ์š”์ฒญ ์ ‘์ˆ˜O, ๋ฆฌ์†Œ์Šค ์ฒ˜๋ฆฌX 204 No Contents ์š”์ฒญ ์„ฑ๊ณตO, ๋‚ด์šฉ ์—†์Œ โœ” 300๋ฒˆ๋Œ€ : ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์ƒํƒœ์ฝ”๋“œ ์ด๋ฆ„ ์˜๋ฏธ 300 Multiple Choice ์š”์ฒญ URI์— ์—ฌ๋Ÿฌ ๋ฆฌ์†Œ์Šค๊ฐ€ ์กด์žฌ 301 Move Permanently ์š”์ฒญ URI๊ฐ€ ์ƒˆ ์œ„์น˜๋กœ ์˜ฎ๊ฒจ๊ฐ 304 Not Modified ์š”์ฒญ URI์˜ ๋‚ด์šฉ์ด ๋ณ€๊ฒฝX โœ” 400..

HoHo.dev
'๐Ÿ’ป CS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก