Gateway

๊ฒŒ์ดํŠธ์›จ์ด

์›น์˜ ๋ฐœ์ „์œผ๋กœ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ํ•œ๊ฐœ์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ๋งŒ์œผ๋กœ๋Š” ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋‹ค ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ ๊ฒฝ๋กœ๋ฅผ ์•ˆ๋‚ดํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๊ณ ์•ˆํ–ˆ๋‹ค ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ๋ฆฌ์†Œ์Šค์™€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์—ฐ๊ฒฐํ•˜๋Š” ์—ญํ• ์„ ํ•œ

ํ”„๋กœํ† ์ฝœ ๊ฒŒ์ดํŠธ์›จ์ด

ํ”„๋ฝ์‹œ์— ํŠธ๋ž˜ํ”ฝ์„ ๋ฐ”๋กœ ๋ณด๋‚ด๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด, ๊ฒŒ์ดํŠธ์›จ์ด์—๋„ http ํŠธ๋ž˜ํ”ฝ์„ ๋ฐ”๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœํ† ์ฝœ์„ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒŒ์ดํŠธ์›จ์ด์ด๋‹ค

e.g )
(HTTP)CLIENT -> HTTP/FTP -> (FTP)SERVER

HTTPS/HTTP() ๋ณด์•ˆ ๊ฐ€์† ๊ฒŒ์ดํŠธ์›จ์ด

Server : ๋ชจ๋“  ์›น ์š”์ฒญ์„ ์•”ํ˜ธํ™”ํ•˜์—ฌ ๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ์™€ ๋ณด์•ˆ์„ ์ œ๊ณตํ•˜๋Š”๊ฒƒ์— ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ์ž๋™์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ๋ชจ๋“  ์„ธ์…˜์„ ์•”ํ˜ธํ™”ํ•  ๊ฒƒ์ด๋‹ค

Client : HTTPS/HTTP ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ๋ณด์•ˆ ๊ฐ€์†๊ธฐ๋กœ ์œ ๋ช…ํ•˜๋‹ค. ์ด ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ๋ณด์•ˆ HTTPS ํŠธ๋ž˜ํ”ฝ์„ ๋ฐ›์•„์„œ ๋ณตํ˜ธํ™”ํ•˜๊ณ , ์›น์„œ๋ฒ„๋กœ ๋ณด๋‚ผ ์ผ๋ฐ˜ HTTP ์š”์ฒญ์„ ๋งŒ๋“ ๋‹ค.

๊ณต์šฉ ๊ฒŒ์ดํŠธ์›จ์ด ์ธํ„ฐํŽ˜์ด์Šค

๊ณต์šฉ ๊ฒŒ์ดํŠธ์›จ์ด ์ธํ„ฐํŽ˜์ด์Šค (CGI) ์ตœ์ดˆ์˜ ์„œ๋ฒ„ํ™•์žฅ์ด๊ณ  ์ง€๊ธˆ๊นŒ์ง€๋„ ๊ฐ€์žฅ ๋„๋ฆฌ ์“ฐ์ด๋Š” ์„œ๋ฒ„ ํ™•์žฅ์ด๋‹ค CGI๊ฐ€ ๋‚ด๋ถ€์—์„œ ์–ด๋–ค ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ณ  ์žˆ๋Š”์ง€๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค. ๋ฌด์–ธ๊ฐ€๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•„๋Š” ๋ฐฉ๋ฒ•์€ URL์— ์žˆ๋Š” cgiํ›… ๋ฟ์ด๋‹ค.

ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ๋ถ„๋ฆฌ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ๊ด€๋ จ ๋‹จ์ ์ด ์žˆ๋‹ค. ๋ชจ๋“  CGI์šฉ์–ด๋งˆ๋‹ค ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ถ€ํ•˜๊ฐ€ ๊ฝค ํฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์„œ๋ฒ„ ํ™•์žฅ API

CGI ํ”„๋กœํ† ์ฝœ์€ ๊ตฌ๋™์ค‘์ธ HTTP ์„œ๋ฒ„์— ์™ธ๋ถ€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ์‰ฝ๊ฒŒ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ์ง€๋งŒ, ์„œ๋ฒ„ ์ž์ฒด์˜ ๋™์ž‘์„ ๋ฐ”๊พธ๊ณ  ์‹ถ๊ฑฐ๋‚˜ ์„œ๋ฒ„์˜ ์ฒ˜๋ฆฌ๋Šฅ๋ ฅ์„ ์ตœ๊ณ ์น˜๋กœ ๋Œ์–ด์˜ฌ๋ฆฌ์ง€๋Š” ๋ชปํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๋Š” ์›น๊ฐœ๋ฐœ์ž๋Š” ์ž์‹ ์˜ ๋ชจ๋“ˆ์„ HTTP์™€ ์ง์ ‘ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ์ธํ„ฐํŽ˜์ด์Šค์ธ ์„œ๋ฒ„ ํ™•์žฅ API๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.

์œ ๋ช…ํ•œ ์„œ๋ฒ„๋“ค์€ ์„œ๋ฒ„ ํ™•์žฅ API๋ฅผ ํ•˜๋‚˜์”ฉ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๊ฐœ๋ฐœ์ž๊ฐ€ ์„œ๋ฒ„์˜ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ๋งž์ถค ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์“ธ ์ˆ˜ ์žˆ๋Š” API๋ฅผ ๊ฐ€์ง„๋‹ค.

์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋” ๋งŽ์€ ํ˜•์‹์˜ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•จ์— ๋”ฐ๋ผ์„œ, http๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋„๊ตฌ๋กœ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค๋Š”๊ฒŒ ํ™•์‹คํ•ด์กŒ๋‹ค

ํ„ฐ๋„

์›น ํ„ฐ๋„์€ http ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ http ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•ด ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค ์›น ํ„ฐ๋„์„ ์‚ฌ์šฉํ•˜๋ฉด http ์ปค๋„ฅ์…˜์„ ํ†ตํ•ด์„œ http๊ฐ€ ์•„๋‹Œ ํŠธ๋ž˜ํ”ฝ์„ ์ „์†กํ•  ์ˆ˜ ์žˆ๊ณ , ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ๋ฒ•์œผ๋กœ๋Š” http ์ปค๋„ฅ์…˜ ์•ˆ์— http๊ฐ€ ์•„๋‹Œ ํŠธ๋ž˜ํ”ฝ์„ ์–น๋Š” ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค

CONNECT๋กœ HTTP ํ„ฐ๋„ ์ปค๋„ฅ์…˜ ๋งบ๊ธฐ

์›น ํ„ฐ๋„์€ http์˜ CONNECT ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปค๋„ฅ์…˜์„ ๋งบ๋Š”๋‹ค CONNECT ๋ฉ”์„œ๋“œ๋Š” ํ„ฐ๋„ ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ์ž„์˜์˜ ๋ชฉ์  ์„œ๋ฒ„์™€ ํฌํŠธ์— TCP ์ปค๋„ฅ์…˜์„ ๋งบ๊ณ , ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ„์— ์˜ค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌด์กฐ๊ฑด ์ „๋‹ฌํ•˜๊ธฐ๋ฅผ ์š”์ฒญํ•จ

๋ฐ์ดํ„ฐ ํ„ฐ๋„๋ง, ์‹œ๊ฐ„, ์ปค๋„ฅ์…˜ ๊ด€๋ฆฌ

ํ„ฐ๋„์„ ํ†ตํ•ด ์ „๋‹ฌ๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ๊ฒŒ์ดํŠธ์›จ์ด์—์„œ ๋ณผ ์ˆ˜ ์—†์–ด์„œ, ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ํŒจํ‚ท์˜ ์ˆœ์„œ๋‚˜ ํ๋ฆ„์— ๋Œ€ํ•œ ์–ด๋–ค ๊ฐ€์ •๋„ ๋ชปํ•œ๋‹ค ๋˜ํ•œ ํ„ฐ๋„์˜ ํ•œ์ชฝ ๋๋‹จ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์†Œ๋น„ํ•˜์ง€ ์•Š์œผ๋ฉด ํ„ฐ๋„์˜ ๋‹ค๋ฅธ ๋๋‹จ์˜ ๋ฐ์ดํ„ฐ ์ƒ์‚ฐ์ž๋Š” ํ–‰์— ๊ฑธ๋ฆฌ๊ฒŒ ๋˜๊ณ , ๊ฒฐ๊ตญ ๊ต์ฐฉ์ƒํƒœ๊ฐ€ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค. ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ์ปค๋„ฅ์…˜์ด ๋งบ์–ด์ง€๋Š” ๋Œ€๋กœ ํ—ค๋”๋ฅผ ํฌํ•จํ•ด์„œ ์ฝ์–ด๋“ค์ธ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์— ์ „์†กํ•ด์•ผํ•œ๋‹ค.

SSL ํ„ฐ๋„๋ง

์›น ํ„ฐ๋„์€ ์›๋ž˜ ๋ฐฉํ™”๋ฒฝ์„ ํ†ตํ•ด์„œ ์•”ํ˜ธํ™”๋œ SSL ํŠธ๋ž˜ํ”ฝ์„ ์ „๋‹ฌํ•˜๋ ค๊ณ  ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค ์›๋ž˜๋Š” ๋งŽ์€ ํšŒ์‚ฌ๊ฐ€ ๋ณด์•ˆ์„ ์œ„ํ•ด์„œ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์ด ํŒจํ‚ท์„ ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ผ์šฐํ„ฐ์™€ ํ”„๋ฝ์‹œ๋ฅผ ์ง€๋‚˜๋„๋ก ํ–ˆ๋Š”๋ฐ, ssl ๊ฐ™์€ ํ”„๋กœํ† ์ฝœ์€ ๋‚ก์€ ๋ฐฉ์‹์˜์˜ ํ”„๋ฝ์‹œ์—๊ฒŒ ์ฒ˜๋ฆฌ๊ฐ€์•ˆ๋˜์–ด์„œ ํ†ต๊ณผ๊ฐ€ ์•ˆ๋˜์—ˆ๋‹ค ํ„ฐ๋„๋ง์„ ํ†ตํ•ด์„œ ssl ํŠธ๋ž˜ํ”ฝ์„ http๋งŒ ํ—ˆ์šฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ†ต๊ณผํ•˜๋„๋ก ๋ณ€๊ฒฝ

SSL ํ„ฐ๋„๋ง vs HTTP/HTTPS ๊ฒŒ์ดํŠธ์›จ์ด

SSL ํ„ฐ๋„๋ง์„ ์‚ฌ์šฉํ•˜๋ฉด, ํ”„๋ฝ์‹œ์— SSL์„ ๊ตฌํ˜„ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. SSL์„ธ์…˜์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ƒ์„ฑํ•œ ์š”์ฒญ๊ณผ ๋ชฉ์ ์ง€(๋ณด์•ˆ์ด ์ ์šฉ๋œ) ์›น ์„œ๋ฒ„ ๊ฐ„์— ์ƒ์„ฑ๋œ๋‹ค. ํ”„๋ฝ์‹œ ์„œ๋ฒ„๋Š” ํŠธ๋žœ์žญ์…˜์˜ ๋ณด์•ˆ์—๋Š” ๊ด€์—ฌํ•˜์ง€ ์•Š๊ณ  ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ํ„ฐ๋„๋งํ•  ๋ฟ์ด๋‹ค

๋ฆด๋ ˆ์ด

http๋ฆด๋ ˆ์ด๋Š” http๋ช…์„ธ๋ฅผ ์™„์ „ํžˆ ์ค€์ˆ˜ํ•˜์ง€๋Š” ์•Š๋Š” http ํ”„๋ฝ์‹œ์ด๋‹ค. ์ปค๋„ฅ์…˜์„ ๋งบ๊ธฐ์œ„์— http์™€ ํ†ต์‹ ์„ ํ•œ ๋‹ค์Œ์— ๋ฐ”์ดํŠธ๋ฅผ ๋งน๋ชฉ์ ์œผ๋กœ ์ „๋‹ฌํ•œ๋‹ค.

http๋Š” ๋ณต์žกํ•ด์„œ ๋งน๋ชฉ์ ์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ „๋‹ฌํ•˜๋Š” ๊ฐ„๋‹จํ•œ ํ”„๋ฝ์‹œ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์ด ์œ ์šฉํ• ๋•Œ๊ฐ€ ์žˆ๋Š”๋ฐ, ๋‹จ์ˆœ ํ•„ํ„ฐ๋ง์ด๋‚˜ ์ง„๋‹จ, ์ปจํ…์ธ ๋ณ€ํ™˜์„ ํ•˜๋Š”๋ฐ ์“ฐ์ธ๋‹ค.

ํ•˜์ง€๋งŒ ๋ฆด๋ ˆ์ด๊ฐ€ ๊ฐ€์ง€๋Š” ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”๋ฐ, Connection ํ—ค๋”๋ฅผ ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•ด์„œ keep-alive ์ปค๋„ฅ์…˜์ด hang์— ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค.

Connection: Keep-aliveํ—ค๋”๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณด๋‚ด๋ฒ„๋ฆฐ๋‹ค. ์„œ๋ฒ„์—์„œ๋Š” ๋ฆด๋ ˆ์ด๊ฐ€ ์ž์‹ ๊ณผ keep-alive ์ปค๋„ฅ์…˜์„ ๋งบ๊ณ  ์‹ถ์–ดํ•˜๋Š”๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•˜๊ณ  ์ปค๋„ฅ์…˜์„ ์—ด์–ด๋†“๊ณ , ํ™•์ธ์‘๋‹ต์„ ๋ณด๋‚ธ๋‹ค.

๋ฆด๋ ˆ์ด๋Š” ํ™•์ธ์‘๋‹ต์„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „๋‹ฌํ•ด์ค€๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ๋‹ค์Œ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค. ํ•˜์ง€๋งŒ ๋ฆด๋ ˆ์ด๋Š” ์„œ๋ฒ„๊ฐ€ ์ปค๋„ฅ์…˜์„ ๋Š์–ด์ฃผ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ์˜ ๋‹ค์Œ์š”์ฒญ์„ ๋ฐ›์„ ์ˆ˜ ์—†๋‹ค.

Last updated