8. Integration Points: Gateways, Tunnels, and Relays

[ํ•™์Šต๋ชฉํ‘œ]

  • ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ๋•Œ HTTP๊ฐ€ ์–ด๋–ป๊ฒŒ ์“ฐ์ด๋Š”์ง€ ์•Œ์•„๋ณด๊ณ 

    ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ์ด๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ฐ„ ํ†ต์‹ ์— HTTP๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์•Œ์•„๋ณธ๋‹ค.

  • ๊ฒŒ์ดํŠธ์›จ์ด: ์„œ๋กœ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ๊ณผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„ HTTP ์ธํ„ฐํŽ˜์ด์Šค

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธํ„ฐํŽ˜์ด์Šค: ์„œ๋กœ ๋‹ค๋ฅธ ํ˜•์‹์˜ ์›น ์•ฑ์ด ํ†ต์‹ ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.

  • ํ„ฐ๋„: HTTP ์ปค๋„ฅ์…˜์„ ํ†ตํ•ด HTTP๊ฐ€ ์•„๋‹Œ ํŠธ๋ž˜ํ”ฝ์„ ์ „์†กํ•˜๋Š”๋ฐ ์‚ฌ์šฉ

  • ๋ฆด๋ ˆ์ด: ์ผ์ข…์˜ ๋‹จ์ˆœ HTTP ํ”„๋ฝ์‹œ๋กœ ํ•œ๋ฒˆ์— ํ•œ๊ฐœ์˜ ํ™‰์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š”๋ฐ ์‚ฌ์šฉ.

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

์›น์— ๋” ๋ณต์žกํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์˜ฌ๋ ค์•ผํ•  ํ•„์š”๊ฐ€ ์ƒ๊ธฐ๋ฉด์„œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ•œ๊ฐœ๋กœ๋งŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์–ด์กŒ๋‹ค.

๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ ๊ฒฝ๋กœ ์•ˆ๋‚ด ์—ญํ• ์„ ํ•˜๋Š” ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๊ณ ์•ˆํ•ด๋ƒˆ๋‹ค.

๊ฒŒ์ดํŠธ์›จ์ด๋Š” ๋ฆฌ์†Œ์Šค์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์—ฐ๊ฒฐํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

๊ฒŒ์ดํŠธ์›จ์ด๋Š” HTTP ํŠธ๋ž˜ํ”ฝ์„ ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ๋กœ ์ž๋™๋ณ€ํ™˜ํ•˜์—ฌ HTTP ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ์„ ์•Œ ํ•„์š” ์—†์ด ์„œ๋ฒ„์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

โ‘  ํด๋ผ์ด์–ธํŠธ ์ธก ๊ฒŒ์ดํŠธ์›จ์ด์™€ ์„œ๋ฒ„์ธก ๊ฒŒ์ดํŠธ์›จ์ด

  • ํ•œ์ชฝ์—์„œ๋Š” HTTP ๋กœ ํ†ต์‹ ํ•˜๊ณ  ๋‹ค๋ฅธ ํ•œ์ชฝ์—์„œ๋Š” HTTP๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ๋กœ ํ†ต์‹ ํ•œ๋‹ค.

  • <ํด๋ผ์ด์–ธํŠธ>/<์„œ๋ฒ„>

  • ํด๋ผ์ด์–ธํŠธ์ธก ๊ฒŒ์ดํŠธ์›จ์ด์™€ ์„œ๋ฒ„์ธก ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ๋น—๊ธˆ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ๊ธฐ์ˆ ํ•œ๋‹ค.

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

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

  • ๋ธŒ๋ผ์šฐ์ €์— ๋ช…์‹œํ•˜๊ฑฐ๋‚˜ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๋Œ€๋ฆฌ์„œ๋ฒ„(๋ฆฌ๋ฒ„์Šค ํ”„๋ฝ์‹œ)๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์ข…๋ฅ˜

    • HTTP/*: ์„œ๋ฒ„์ธก ์›น ๊ฒŒ์ดํŠธ์›จ์ด

    • HTTP/HTTPS: ์„œ๋ฒ„์ธก ๋ณด์•ˆ ๊ฒŒ์ดํŠธ์›จ์ด

    • HTTPS/HTTP: ํด๋ผ์ด์–ธํŠธ์ธก ๋ณด์•ˆ ๊ฐ€์† ๊ฒŒ์ดํŠธ์›จ์ด

3) ๋ฆฌ์†Œ์Šค ๊ฒŒ์ดํŠธ์›จ์ด

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋Š” HTTP๋ฅผ ํ†ตํ•ด์„œ ํด๋ผ์ด์–ธํŠธ์™€ ํ†ต์‹ ํ•˜๊ณ  ์„œ๋ฒ„์ธก์— ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋žจ์— ์—ฐ๊ฒฐํ•˜๋Š” ์„œ๋ฒ„์ธก ๊ฒŒ์ดํŠธ ์›จ์ด์ด๋‹ค.

โ‘  ๊ณต์šฉ ๊ฒŒ์ดํŠธ์›จ์ด ์ธํ„ฐํŽ˜์ด์Šค(Common Gateway Interface, CGI)

  • ์ตœ์ดˆ์˜ ์„œ๋ฒ„ ํ™•์žฅ์ด์ž ์ง€๊ธˆ๊นŒ์ง€๋„ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์„œ๋ฒ„ ํ™•์žฅ์ด๋‹ค.

  • ์›น์—์„œ ๋™์ ์ธ HTML, ์‹ ์šฉ์นด๋“œ์ฒ˜๋ฆฌ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์งˆ์˜ ๋“ฑ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.

  • CGI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์„œ๋ฒ„์™€ ๋ถ„๋ฆฌ๋˜๋ฉด์„œ ํŽ„, Tcl, C, ๋‹ค์–‘ํ•œ ์…ธ์–ธ์–ด๋ฅผ ํฌํ•จํ•˜์—ฌ ์ˆ˜๋งŽ์€ ์–ธ์–ด๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

  • ๋˜ํ•œ ๋‹จ์ˆœํ•˜์—ฌ ๊ฑฐ์˜ ๋ชจ๋“  HTTP ์„œ๋ฒ„๊ฐ€ ์ง€์›ํ•œ๋‹ค.

โ‘ก ์„œ๋ฒ„ ํ™•์žฅ API

  • CGI ํ”„๋กœํ† ์ฝœ์€ ๊ตฌ๋™์ค‘์ธ HTTP ์„œ๋ฒ„์— ์™ธ๋ถ€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ์‰ฝ๊ฒŒ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋Š” ํ•ด์ฃผ์ง€๋งŒ

    • ์„œ๋ฒ„ ์ž์ฒด์˜ ๋™์ž‘์„ ๋ฐ”๊พธ๊ณ  ์‹ถ๊ฑฐ๋‚˜

    • ์„œ๋ฒ„์˜ ์ฒ˜๋ฆฌ๋Šฅ๋ ฅ์„ ์ตœ๊ณ ์น˜๋กœ ๋Œ์–ด์˜ฌ๋ฆฌ๊ณ ์ž ํ•  ๋•Œ๋Š” ์–ด๋–ป๊ฒŒ ํ• ๊นŒ?

  • ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ž์‹ ์˜ ๋ชจ๋“ˆ์„ HTTP์™€ ์ง์ ‘ ์—ฐ๊ฒฐํ• ์ˆ˜์žˆ๋Š” ์„œ๋ฒ„ ํ™•์žฅ API๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

4) ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์›น ์„œ๋น„์Šค

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์—ฐ๊ฒฐํ•˜๋ฉด์„œ ์ƒ๊ธฐ๋Š” ๊นŒ๋‹ค๋กœ์šด ์ด์Šˆ ์ค‘ ํ•˜๋‚˜๋Š”, ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๋ ค๋Š” ๋‘ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์ด์—์„œ ํ”„๋กœํ† ์ฝœ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งž์ถ”๋Š” ์ผ์ด๋‹ค. (CH19์ฐธ์กฐ)

์›น์„œ๋น„์Šค: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ƒˆ๋กœ์šด ๋งค์ปค๋‹ˆ์ฆ˜. HTTP๊ฐ™์€ ํ‘œ์ค€ ์›น ๊ธฐ์ˆ  ์œ„์—์„œ ๊ฐœ๋ฐœํ•œ๋‹ค. SOAP ์„ ํ†ตํ•ด XML์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•œ๋‹ค.

5) ํ„ฐ๋„

HTTP ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ HTTP ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•ด ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹์„ ์ œ๊ณตํ•œ๋‹ค.

์›น ํ„ฐ๋„์„ ์‚ฌ์šฉํ•˜๋ฉด, HTTP๊ฐ€ ์•„๋‹Œ ํŠธ๋ž˜ํ”ฝ์„ ์ „์†กํ•  ์ˆ˜ ์žˆ๊ณ  ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ์„ HTTP ์œ„์— ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

์›นํ„ฐ๋„ ์‚ฌ์šฉ์˜ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์ด์œ ๋Š” HTTP ์ปค๋„ฅ์…˜ ์•ˆ์— HTTP๊ฐ€ ์•„๋‹Œ ํŠธ๋ž˜ํ”ฝ์„ ์–น๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.

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

์›น ํ„ฐ๋„์€ HTTP์˜ Connect ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ปค๋„ฅ์…˜์„ ๋งบ๋Š”๋‹ค.

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

Connect ๋ฉ”์„œ๋“œ๋Š” ๋ชจ๋“  ์„œ๋ฒ„๋‚˜ ํ”„๋กœํ† ์ฝœ์— TCP์ปค๋„ฅ์…˜์„ ๋งบ๋Š”๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

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

ํ„ฐ๋„์„ ํ†ตํ•ด ์ „๋‹ฌ๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํ†ตํ•ด ๋ณผ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ํŒจํ‚ท์˜ ์ˆœ์„œ๋‚˜ ํ๋ฆ„์— ๋Œ€ํ•œ ์–ด๋–ค ๊ฐ€์ •๋„ ํ•  ์ˆ˜ ์—†๋‹ค.

์ผ๋‹จ ํ„ฐ๋„์ด ์—ฐ๊ฒฐ๋˜๋ฉด ๋ฐ์ดํ„ฐ๋Š” ์–ธ์ œ, ์–ด๋””๋“  ํ˜๋Ÿฌ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

โ‘ฃ SSL ํ„ฐ๋„๋ง

์›น ํ„ฐ๋„์€ ์›๋ž˜ ๋ฐฉํ™”๋ฒฝ์„ ํ†ตํ•ด ์•”ํ˜ธํ™”๋œ SSLํŠธ๋ž˜ํ”ฝ์„ ์ „๋‹ฌํ•˜๊ธฐ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค.

SSLํŠธ๋ž˜ํ”ฝ์ด ๊ธฐ์กด ํ”„๋ฝ์‹œ ๋ฐฉํ™”๋ฒฝ์„ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ๋„๋ก HTTP์— ํ„ฐ๋„๋ง ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค.

ํ„ฐ๋„์€ HTTP๊ฐ€ ์•„๋‹Œ ํŠธ๋ž˜ํ”ฝ์ด ํฌํŠธ๋ฅผ ์ œํ•œํ•˜๋Š” ๋ฐฉํ™”๋ฒฝ์„ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ฉฐ, ๋ณด์•ˆ SSL ํŠธ๋ž˜ํ”ฝ์ด ๋ฐฉํ™”๋ฒฝ์„ ํ†ต๊ณผํ•˜๋Š”๋ฐ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋œ๋‹ค. ํ•˜์ง€๋งŒ, ํ„ฐ๋„์€ ์•…์˜์ ์ธ ํŠธ๋ž˜ํ”ฝ์ด ์‚ฌ๋‚ด๋กœ ์œ ์ž…๋˜๋Š” ๊ฒฝ๋กœ๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ๋‹ค.

6) ๋ฆด๋ ˆ์ด

๊ฐ„๋‹จํ•œ HTTP ํ”„๋ฝ์‹œ๋กœ, ์ปค๋„ฅ์…˜์„ ๋งบ๊ธฐ ์œ„ํ•œ HTTP ํ†ต์‹ ์„ ํ•œ ๋‹ค์Œ ๋ฐ”์ดํŠธ๋ฅผ ๋งน๋ชฉ์ ์œผ๋กœ ์ „๋‹ฌํ•œ๋‹ค.

Last updated