6. Proxies

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

  • ์›น ํ”„๋ฝ์‹œ ์„œ๋ฒ„๋Š” ์ค‘๊ฐœ์ž

  • ํ”„๋ฝ์‹œ์™€ ๊ฒŒ์ดํŠธ์›จ์ด ๋น„๊ตํ•˜๊ณ  ํ”„๋ฝ์‹œ ์–ด๋–ป๊ฒŒ ๋ฐฐ์น˜๋˜๋Š”์ง€?

  • ํŠธ๋ž˜ํ”ฝ์ด ์–ด๋–ป๊ฒŒ ํ”„๋ฝ์‹œ ์„œ๋ฒ„๋กœ ๊ฐ€๊ฒŒ ๋˜๋Š”์ง€

  • ๋ธŒ๋ผ์šฐ์ €์—์„œ ํ”„๋ฝ์‹œ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์„ค์ •

  • ํ”„๋ฝ์‹œ ์„œ๋ฒ„์— ์š”์ฒญํ•˜๋Š”๊ฒƒ๊ณผ ์„œ๋ฒ„ ์š”์ฒญ์˜ ์ฐจ์ด์ , ํ”„๋ฝ์‹œ ์„œ๋ฒ„๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์˜ ์š”์ฒญ์„ ์–ด๋–ป๊ฒŒ ๋ฐ”๊พธ๋Š”์ง€?

  • via header, trace method ๋ฅผ ์ด์šฉํ•œ ๊ธฐ๋ก ๋ฐฉ๋ฒ•?

  • ๊ฐ๊ฐ์˜ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ๊ณผ ๋ฒ„์ „๋“ค์„ ์ง€์›ํ•˜๊ณ  ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”์ง€ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค.

01) ์›น ์ค‘๊ฐœ์ž

  • ์„œ๋ฒ„์ด๋ฉด์„œ ๋™์‹œ์— ํด๋ผ์ด์–ธํŠธ์—ฌ์•ผํ•œ๋‹ค.

  • ๋”ฐ๋ผ์„œ HTTP ํด๋ผ์ด์–ธํŠธ, ์„œ๋ฒ„ ์–‘์ชฝ ๊ทœ์น™์„ ๋ชจ๋‘ ์ฃผ์˜๊นŠ๊ฒŒ ๋”ฐ๋ผ์•ผํ•œ๋‹ค.

โ‘  ๊ฐœ์ธํ”„๋ฝ์‹œ vs ๊ณต์œ ํ”„๋ฝ์‹œ

ํ”„๋ฝ์‹œ ์„œ๋ฒ„๋Š” ํ•˜๋‚˜์˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋…์ ์ ์œผ๋กœ ์‚ฌ์šฉํ• ์ˆ˜๋„ ์žˆ๊ณ , ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ณต์œ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

  • ๊ณต์šฉ ํ”„๋ฝ์‹œ

    • ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋ฝ์‹œ๋Š” ๊ณต์šฉ์ด๊ณ  ๊ณต์œ ๋œ ํ”„๋ฝ์‹œ

    • ์ค‘์•™์ง‘์ค‘ํ˜• ํ”„๋ฝ์‹œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š”๊ฒŒ ๋น„์šฉํšจ์œจ์ด ๋†’๊ณ  ์‰ฝ๋‹ค.

    • '์บ์‹œ ํ”„๋ฝ์‹œ ์„œ๋ฒ„'๊ฐ™์€ ๋ช‡๋ช‡ ํ”„๋ฝ์‹œ app์€ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๋“ค์ด ๊ณตํ†ต๋œ ์š”์ฒญ์„ ํ•˜๋ฉด ์ด๋“์„ ์ทจํ• ์ˆ˜ ์žˆ๋‹ค.

  • ๊ฐœ์ธ ํ”„๋ฝ์‹œ

    • ํ”์น˜ ์•Š์œผ๋‚˜ ๊พธ์ค€ํžˆ ์‚ฌ์šฉ๋จ. (ํด๋ผ์ด์–ธํŠธ ์ปดํ“จํ„ฐ์—์„œ ์ง์ ‘ ์‹คํ–‰๋˜๋Š” ํ˜•ํƒœ)

โ‘ก Proxy vs GateWay

  • proxy: ๊ฐ™์€ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๋‘˜ ์ด์ƒ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—ฐ๊ฒฐ

  • gateway: ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๋‘˜ ์ด์ƒ์„ ์—ฐ๊ฒฐ (๋งˆ์น˜ ํ”„๋กœํ† ์ฝœ ๋ณ€ํ™˜๊ธฐ ์ฒ˜๋Ÿผ ์ž‘๋™)

    ์‹ค์ œ๋กœ๋Š” ๋‘ ์‚ฌ์ด์˜ ์ฐจ์ด์ ์ด ๋ชจํ˜ธํ•˜๊ธฐ๋Š” ํ•œ ๊ฒƒ์ด ์ข…์ข… ํ”„๋ฝ์‹œ๊ฐ€ ํ”„๋กœํ† ์ฝœ ๋ณ€ํ™˜์„ ํ•˜๊ธฐ๋„ ํ•˜๊ณ , ์ƒ์šฉ ํ”„๋ฝ์‹œ ์„œ๋ฒ„๋Š” SSL ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ, SOCKET ๋ฐฉํ™”๋ฒฝ, FTP ์ ‘๊ทผ, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ง€์›์„ ์œ„ํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ๋„ ํ•จ. (8์žฅ gateway ๋ฅผ ๋ณด๊ณ  ๋‹ค์‹œ ํ•œ๋ฒˆ ์ƒ๊ฐํ•ด๋ณด๋„๋ก)

2) Proxy ์™œ ์‚ฌ์šฉ ํ•˜๋Š”๊ฑธ๊นŒ?

ํ”„๋ฝ์‹œ ์„œ๋ฒ„๋Š” ์‹ค์šฉ์ ์ด๊ณ  ์œ ์šฉํ•œ ๊ฒƒ์ด๋ผ๋ฉด ๋ฌด์Šจ ์ผ์ด๋“  ํ•œ๋‹ค. [๋ณด์•ˆ ๊ฐœ์„ , ์„ฑ๋Šฅ ํ–ฅ์ƒ, ๋น„์šฉ ์ ˆ์•ฝ]

๋ชจ๋“  HTTP ํŠธ๋ž˜ํ”ฝ์„ ๋“ค์—ฌ๋‹ค๋ณด๊ณ  ๊ฑด๋“œ๋ฆด์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€๊ฐ€์ ์ธ ๊ฐ€์น˜๋ฅผ ์ฃผ๋Š” ์—ฌ๋Ÿฌ ์œ ์šฉํ•œ ์›น์„œ๋น„์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ์‹œํ•˜๊ณ  ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

EX)

  • ์–ด๋ฆฐ์ด ํ•„ํ„ฐ

  • ๋ฌธ์„œ ์ ‘๊ทผ ์ œ์–ด (์ค‘์•™ ํ”„๋ฝ์‹œ ์„œ๋ฒ„์—์„œ ์ ‘๊ทผ์ œ์–ด)

  • ๋ณด์•ˆ ๋ฐฉํ™”๋ฒฝ

  • ์›น์บ์‹œ

  • ๋Œ€๋ฆฌํ”„๋ฝ์‹œ(=surrogate, reverse proxies, server accelerators): ๋Š๋ฆฐ ์›น ์„œ๋ฒ„ ์„ฑ๋Šฅ ๊ฐœ์„ 

  • ์ฝ˜ํ…์ธ  ๋ผ์šฐํ„ฐ: ์ฝ˜ํ…์ธ  ์ข…๋ฅ˜์— ๋”ฐ๋ผ ์š”์ฒญ์„ ํŠน์ • ์„œ๋ฒ„๋กœ ์œ ๋„, ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์—ฌ๋Ÿฌ ์„œ๋น„์Šค ๊ตฌํ˜„

  • ํŠธ๋žœ์Šค์ฝ”๋”: ์ ์ ˆํ•œ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜(ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ์ฃผ๊ฑฐ๋‚˜, ์–ธ์–ด๋ฅผ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜, ํ™”๋ฉด๋ณ„๋กœ ๋ณด๊ธฐํŽธํ•˜๊ฒŒ ๋“ฑ๋“ฑ)

  • ์ต๋ช…ํ™” ํ”„๋ก์‹œ: ๋ฐœ์†ก์ž์˜ ์ด๋ฉ”์ผ์ฃผ์†Œ, ๋ณด๋‚ธ๊ฒฝ๋กœ, ์‚ฌ์šฉํ•œ ์ปดํ“จํ„ฐ์™€ os ์ •๋ณด๋ฅผ ์—†์• ์„œ ๊ฐœ์ธ์ •๋ณด๋ฅผ ๋ณดํ˜ธํ•œ๋‹ค.

3) ํ”„๋ฝ์‹œ๋Š” ์–ด๋””์— ์žˆ๋Š”๊ฐ€?

์–ด๋””์— ์žˆ๊ณ , ์–ธ์ œ ์•„ํ‚คํ…์ฒ˜์ƒ์— ๋ฐฐ์น˜๋˜๋Š”๊ฒƒ์ธ์ง€ ์ƒ๊ฐํ•ด๋ณด์ž.

โ‘  ํ”„๋ฝ์‹œ ์„œ๋ฒ„ ๋ฐฐ์น˜ [์–ด๋–ป๊ฒŒ ๋ฐฐ์น˜ํ•˜๋Š”๊ฐ€?]

  • ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ• ์ง€์— ๋”ฐ๋ผ ์–ด๋””์„œ๋“  ๋ฐฐ์น˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

    • ์ถœ๊ตฌ(Egress) ํ”„๋ฝ์‹œ: ๋กœ์ปฌ๋„คํŠธ์›Œํฌ๊ณผ ๋” ํฐ ์ธํ„ฐ๋„ท ์‚ฌ์ด๋ฅผ ์˜ค๊ฐ€๋Š” ํŠธ๋ž˜ํ”ฝ์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ๋กœ์ปฌ๋„คํŠธ์›Œํฌ์˜ ์ถœ๊ตฌ์— ๋ฐ•์•„๋‘” ํ”„๋ฝ์‹œ

    • ์ ‘๊ทผ(์ž…๊ตฌ) ํ”„๋ฝ์‹œ: ๊ณ ๊ฐ์œผ๋กœ๋ถ€ํ„ฐ ๋ชจ๋“  ์š”์ฒญ์„ ์ข…ํ•ฉ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ISP ์ ‘๊ทผ์ง€์ ์— ์œ„์น˜

    • ๋Œ€๋ฆฌ ํ”„๋ฝ์‹œ(=reverse proxies): ๋„คํŠธ์›Œํฌ ๊ฐ€์žฅ ๋์— ์žˆ๋Š” ์›น์„œ๋ฒ„๋“ค์˜ ๋ฐ”๋กœ ์•ž์— ์œ„์น˜ํ•˜๋ฉด์„œ ์›น์„œ๋ฒ„๋กœ ํ–ฅํ•˜๋Š” ๋ชจ๋“  ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ํ•„์š”ํ• ๋•Œ์—๋งŒ ์›น์„œ๋ฒ„์— ์ž์›์š”์ฒญ์„ ํ•จ.์›น ์„œ๋ฒ„์˜ ์ด๋ฆ„๊ณผ IP์ฃผ์†Œ๋กœ ์Šค์Šค๋กœ๋ฅผ ๊ฐ€์žฅํ•˜๋ฏ€๋กœ ๋ชจ๋“  ์š”์ฒญ์€ ์„œ๋ฒ„๊ฐ€ ์•„๋‹Œ ์ด ํ”„๋ฝ์‹œ๋กœ ๊ฐ.

    • ๋„คํŠธ์›Œํฌ ๊ตํ™˜ ํ”„๋ฝ์‹œ: ์บ์‹œ๋ฅผ ์ด์šฉํ•ด ์ธํ„ฐ๋„ท ๊ต์ฐจ๋กœ์˜ ํ˜ผ์žก์„ ์™„ํ™”ํ•˜๊ณ  ํŠธ๋ž˜ํ”ฝ ํ๋ฆ„ ๊ฐ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์ธํ„ฐ๋„ท ํ”ผ์–ด๋ง ๊ตํ™˜ ์ง€์ ์— ๋†“์ž„

โ‘ก ํ”„๋ฝ์‹œ ๊ณ„์ธต (Hierarchies)

  • ํ”„๋ฝ์‹œ ๊ณ„์ธต์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์—ฐ์‡„๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋ฉ”์„ธ์ง€๋Š” ์ตœ์ข…์ ์œผ๋กœ ์›์„œ๋ฒ„์— ๋„์ฐฉํ• ๋•Œ๊นŒ์ง€ ํ”„๋ฝ์‹œ์—์„œ ํ”„๋ฝ์‹œ๋ฅผ ๊ฑฐ์ณ ์ด๋™ํ•œ๋‹ค.

  • ํ”„๋ฝ์‹œ ์„œ๋ฒ„๋Š” ๋ถ€๋ชจ-์ž์‹๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๊ณ ์žˆ๊ณ  ๋‹ค์Œ๋ฒˆ ์ธ๋ฐ”์šด๋“œ ํ”„๋ฝ์‹œ(์„œ๋ฒ„์— ๊ฐ€๊นŒ์šด์ชฝ)์„ ๋ถ€๋ชจ๋ผ๊ณ  ๋ถ€๋ฅด๊ณ , ์•„์›ƒ๋ฐ”์šด๋“œ ํ”„๋ฝ์‹œ(ํด๋ผ์ด์–ธํŠธ์— ๊ฐ€๊นŒ์šด์ชฝ)์„ ์ž์‹์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

  • ์œ„ ๊ทธ๋ฆผ์€ ์ •์ ์€ ํ”„๋ก์‹œ ๊ณ„์ธต์ด๋‹ค. ๋ชจ๋“  ํ”„๋ฝ์‹œ ๊ณ„์ธต์ด ์ •์ ์ธ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. (cf. figure 6-13)

    ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํŒ๋‹จ ๊ทผ๊ฑฐ์— ์˜ํ•ด ๋ฉ”์„ธ์ง€๋ฅผ ๋‹ค์–‘ํ•˜๊ณ  ์œ ๋™์ ์ธ ํ”„๋ฝ์‹œ ์„œ๋ฒ„์™€ ์›์„œ๋ฒ„๋“ค์˜ ์ง‘ํ•ฉ์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

  • ๋™์  ๋ถ€๋ชจ ์„ ํƒ ์˜ˆ: ๋ถ€ํ•˜ ๊ท ํ˜•, ์ง€๋ฆฌ์  ์ธ์ ‘์„ฑ์— ๊ทผ๊ฑฐ, ํ”„๋กœํ† ์ฝœ/ํƒ€์ž… ๋ผ์šฐํŒ…, ์œ ๋ฃŒ์„œ๋น„์Šค ๊ฐ€์ž…์ž ์œ„ํ•œ ๋ผ์šฐํŒ…

โ‘ข ํ”„๋ฝ์‹œ๊ฐ€ ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”๊ฐ€.

  • ํด๋ผ์ด์–ธํŠธ ํŠธ๋ž˜ํ”ฝ์ด ํ”„๋ก์‹œ์— ๊ฐ€๋„๋ก ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• 4๊ฐ€์ง€

    • ํด๋ผ์ด์–ธํŠธ ์ˆ˜์ •: ๋Œ€๋ถ€๋ถ„์˜ ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)๋“ค์€ ์ˆ˜๋™ ํ˜น์€ ์ž๋™ ํ”„๋ฝ์‹œ ์„ค์ •์„ ์ง€์›ํ•œ๋‹ค.

    • ๋„คํŠธ์›Œํฌ๋ฅผ ์ˆ˜์ •: ํด๋ผ์ด์–ธํŠธ๋ฅผ ์•Œ์ง€๋„, ๊ฐ„์„ญํ• ์ˆ˜๋„ ์—†๋Š” ์ƒํƒœ์—์„œ ๋„คํŠธ์›Œํฌ ์ธํ”„๋ผ๋ฅผ ๊ฐ€๋กœ์ฑ„์„œ(์Šค์œ„์นญ, ๋ผ์šฐํŒ… ์žฅ์น˜) ์›น ํŠธ๋ž˜ํ”ฝ์„ ํ”„๋ก์‹œ๋กœ ๊ฐ€๋„๋กํ•œ๋‹ค.

      (ํด๋ผ์ด์–ธํŠธ ๋ชจ๋ฅด๊ฒŒ HTTP ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ€๋กœ์ฑ„์„œ ๋ณด๋‚ธ๋‹คํ•ด์„œ ์ธํ„ฐ์…‰ํŠธ ํ”„๋ฝ์‹œ, ํˆฌ๋ช… ํ”„๋ฝ์‹œ ๋ผ๊ณ ๋„ ํ•œ๋‹ค.)

    • DNS ์ด๋ฆ„ ๊ณต๊ฐ„ ์ˆ˜์ •: ์›น ์„œ๋ฒ„ ์•ž์— ์œ„์น˜ํ•˜๋Š” ํ”„๋ฝ์‹œ ์„œ๋ฒ„์ธ ๋Œ€๋ฆฌํ”„๋ฝ์‹œ๋Š” ์›น ์„œ๋ฒ„์˜ ์ด๋ฆ„๊ณผ IP ์ฃผ์†Œ๋ฅผ ์ž์‹ ์ด ์ง์ ‘ ์‚ฌ์šฉ.(๋Œ€๋ฆฌํ”„๋ฝ์‹œ, reverse proxies)

    • ์›น์„œ๋ฒ„ ์ˆ˜์ •: ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋ฅผ ๋ฐ›๋Š” ์ฆ‰์‹œ ํด๋ผ์ด์–ธํŠธ๋Š” ํ”„๋ฝ์‹œ์™€ ํŠธ๋žœ์žญ์…˜์„ ์‹œ์ž‘ํ•œ๋‹ค.

4) ํด๋ผ์ด์–ธํŠธ ํ”„๋ฝ์‹œ ์„ค์ •

ํ˜„๋Œ€ ๋ธŒ๋ผ์šฐ์ €๋Š” ํ”„๋ฝ์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •์ด ๊ฐ€๋Šฅํ•˜๊ณ , ๋งŽ์€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ”„๋ฝ์‹œ ์„ค์ •ํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์„ ์ œ๊ณต.

โ‘  ์ˆ˜๋™ ์„ค์ •

  • ํ”„๋ฝ์‹œ ์‚ฌ์šฉ์„ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •

โ‘ก ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ณธ์„ค์ •

  • ๋ธŒ๋ผ์šฐ์ € ๋ฒค๋”๋‚˜ ๋ฐฐํฌ์ž๋Š” ๋ธŒ๋ผ์šฐ์ €(or ๋‹ค๋ฅธ web client)๋ฅผ ์†Œ๋น„์ž์— ์ „๋‹ฌํ•˜๊ธฐ ์ „์— ํ”„๋ฝ์‹œ ์„ค์ •์„ ๋ฏธ๋ฆฌ ํ•ด๋‘˜ ์ˆ˜ ์žˆ๋‹ค.

โ‘ข ํ”„๋ฝ์‹œ ์ž๋™ ์„ค์ •(Proxy auto-configuration, PAC)

  • ์ˆ˜๋™ ์„ค์ •์€ ๋‹จ์ˆœํ•˜๋‚˜, ์œ ์—ฐํ•˜์ง€ ๋ชปํ•˜๊ณ  ๋ชจ๋“  ์ฝ˜ํ…์ธ ๋ฅผ ์œ„ํ•ด์„œ ๋‹จ ํ•˜๋‚˜์˜ ํ”„๋ฝ์‹œ ์„œ๋ฒ„๋งŒ ์ง€์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

    ๋”ฐ๋ผ์„œ ํฐ ์กฐ์ง์—์„œ ๊ด€๋ฆฌ๋ฌธ์ œ์™€ ์žฅ์• ์‹œ ๋Œ€์ฒด ์ž‘๋™์— ๋Œ€ํ•œ ์ง€์›๋„ ์—†๋‹ค.

  • PAC๋Š”, ํ”„๋ฝ์‹œ ์„ค์ •์— ๋Œ€ํ•œ ๋™์ ์ธ ํ•ด๊ฒฐ์ฑ…์ธ๋ฐ ์„ค์ •์„ ์ƒํ™ฉ์— ๋งž๊ฒŒ ๊ณ„์‚ฐํ•˜๋Š” js ํ”„๋กœ๊ทธ๋žจ์ด๊ธฐ ๋•Œ๋ฌธ. ๋ฌธ์„œ ์ ‘๊ทผ์‹œ js ์˜ ํ•จ์ˆ˜๊ฐ€ ์ ์ ˆํ•œ ํ”„๋ฝ์‹œ ์„œ๋ฒ„๋ฅผ ์„ ํƒํ•œ๋‹ค.

  • js PAC ํŒŒ์ผ์˜ URI๋ฅผ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์„ค์ •ํ•ด์•ผํ•œ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” URI๋กœ๋ถ€ํ„ฐ PAC ํŒŒ์ผ์„ ๊ฐ€์ ธ์™€์„œ ๋งค ์ ‘๊ทผ๋งˆ๋‹ค ์ ์ ˆํ•œ ํ”„๋ฝ์‹œ ์„œ๋ฒ„๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด js ์ด์šฉํ•œ๋‹ค. (ํ™•์žฅ์ž .pac)

  • FindProxyForUrl(url, host) ํ•จ์ˆ˜ ์ •์˜. MIME type application/x-ns-proxy-autoconfig

โ‘ฃ WPAD ํ”„๋ฝ์‹œ ๋ฐœ๊ฒฌ

  • ๋Œ€๋ถ€๋ถ„์˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž๋™์„ค์ • ํŒŒ์ผ์„ ๋‹ค์šด ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” '์„ค์ • ์„œ๋ฒ„'๋ฅผ ์ž๋™์œผ๋กœ ์ฐพ์•„์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ์„ ์ œ๊ณต

  • WPAD: Web Proxy Auto Discovery Protocol

  • ์—ฌ๋Ÿฌ ๋ฐœ๊ฒฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜๋“ค์˜ ์ƒ์Šน์ „๋žต์„ ์ด์šฉํ•ด ๋ธŒ๋ผ์šฐ์ €์— ์•Œ๋งž์€ PAC ํŒŒ์ผ์„ ์ž๋™์œผ๋กœ ์ฐพ์•„์ฃผ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ์˜ฌ๋ฐ”๋ฅธ PAC ํŒŒ์ผ์„ ์•Œ์•„๋‚ด๊ธฐ ์œ„ํ•ด ๋ฆฌ์†Œ์Šค ๋ฐœ๊ฒฌ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉ.

5) ํ”„๋ฝ์‹œ ์š”์ฒญ์˜ ๋ฏธ๋ฌ˜ํ•œ ํŠน์ง•

โ‘  ํ”„๋ฝ์‹œ (์š”์ฒญ) URI vs ์„œ๋ฒ„ URI

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›น ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ๋ณด๋‚ผ๋•Œ: [์Šคํ‚ด, ํ˜ธ์ŠคํŠธ, ํฌํŠธ๋ฒˆํ˜ธ] ๊ฐ€ ์—†๋Š” ๋ถ€๋ถ„ url์„ ๊ฐ€์ง„๋‹ค.

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ”„๋ฝ์‹œ๋กœ ์š”์ฒญ์„ ๋ณด๋‚ผ๋•Œ: ์™„์ „ํ•œ url ์„ ๊ฐ–๋Š”๋‹ค.

  • ์™œ?

    • ๊ธฐ์กด HTTP ์„ค๊ณ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋Š” ๋‹จ์ผ ์„œ๋ฒ„์™€ ์ง์ ‘ ๋Œ€ํ™” ํ–ˆ์—ˆ๊ณ , ํ˜ธ์ŠคํŠธ๋ช…๊ณผ ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ์•Œ๊ณ  ์žˆ์—ˆ์œผ๋ฏ€๋กœ ๋ถˆํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๊ธฐ ์œ„ํ•ด ๋ถ€๋ถ„ url๋งŒ ๋ณด๋ƒˆ์—ˆ๋Š”๋ฐ ํ”„๋ฝ์‹œ๋‚˜ ๊ฐ€์ƒํ˜ธ์ŠคํŒ…์ด ์ƒ๊ธฐ๋ฉด์„œ ๋ถ€๋ถ„ url์ด ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค. ๋ชฉ์ ์ง€ ์„œ๋ฒ„์™€ ์ปค๋„ฅ์…˜์„ ์œ„ํ•ด ์„œ๋ฒ„ ์ด๋ฆ„์ด ํ•„์š”ํ–ˆ๊ณ , FTP๋ฆฌ์†Œ์Šค ์ด์™ธ ์Šคํ‚ด๊ณผ ์—ฐ๊ฒฐ์„ ์œ„ํ•ด URI์˜ ์Šคํ‚ด๋„ ์•Œ์•„์•ผํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋ก์‹œ ์„œ๋ฒ„์—๋Š” ์™„์ „ํ•œ URI๋ฅผ ์š”์ฒญํ•œ๋‹ค.

โ‘ก ๊ฐ€์ƒ ํ˜ธ์ŠคํŒ…์—์„œ ์ผ์–ด๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ

  • ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•ด์„œ

    • ๋ช…์‹œ์ ์ธ ํ”„๋ฝ์‹œ๋Š” ์š”์ฒญ ๋ฉ”์„ธ์ง€๊ฐ€ ์™„์ „ํ•œ URI๋ฅผ ๊ฐ€์ง€๋„๋ก ํ•ด์„œ ํ•ด๊ฒฐํ–ˆ๊ณ 

    • [์Šคํ‚ด, ํ˜ธ์ŠคํŠธ, ํฌํŠธ๋ฒˆํ˜ธ] ๋ˆ„๋ฝ๋ฌธ์ œ๋Š” ๊ฐ€์ƒํ˜ธ์ŠคํŠธ๋˜๋Š” ์›น ์„œ๋ฒ„๊ฐ€ ์ง๋ฉดํ•œ ๋ฌธ์ œ์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

    • ๊ฐ€์ƒ ํ˜ธ์ŠคํŒ…๋˜๋Š” ์›น ์„œ๋ฒ„๋Š” ํ˜ธ์ŠคํŠธ์™€, ํฌํŠธ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด์€ host header๋ฅผ ์š”๊ตฌํ•œ๋‹ค.

โ‘ข ์ธํ„ฐ์…‰ํŠธ ํ”„๋ฝ์‹œ๋Š” ๋ถ€๋ถ„ URI๋ฅผ ๋ฐ›๋Š”๋‹ค

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ HTTP ๋ฅผ ์˜ฌ๋ฐ”๋กœ ๊ตฌํ˜„ํ–ˆ๋‹ค๋ฉด ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •๋œ ํ”„๋ฝ์‹œ์—๊ฒŒ๋Š” ์™„์ „ํ•œ URI๋ฅผ ๋ณด๋‚ธ๋‹ค.

  • ์ผ๋ถ€ ๋ฌธ์ œ๋Š” ํ•ด๊ฒฐ๋˜๋‚˜, ํด๋ผ์ด์–ธํŠธ๋Š” ํ•ญ์ƒ ํ”„๋ก์‹œ์™€ ๋Œ€ํ™”ํ•˜๋Š” ๊ฒƒ์„ ์•Œ์•„์ฑ„๋Š”๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ๋Š” ์ž์‹ ์ด ์›น์„œ๋ฒ„์™€ ๋Œ€ํ™”ํ•˜๊ณ  ์žˆ๋‹ค ์ƒ๊ฐํ•˜๊ณ  ์™„์ „ํ•œ URI๋ฅผ ๋ณด๋‚ด์ง€์•Š๋Š”๋‹ค.

โ‘ฃ ํ”„๋ฝ์‹œ๋Š” ํ”„๋ฝ์‹œ์š”์ฒญ, ์„œ๋ฒ„ ์š”์ฒญ ๋ชจ๋‘ ๋‹ค๋ฃฐ์ˆ˜ ์žˆ๋‹ค.

  • ํŠธ๋ž˜ํ”ฝ์ด ํ”„๋ก์‹œ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋‹ค๋ชฉ์  ํ”„๋ก์‹œ ์„œ๋ฒ„๋Š” ์™„์ „ํ•œ URI์™€ ๋ถ€๋ถ„ URI๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•ด์•ผํ•œ๋‹ค.

  • ์™„์ „ URI ์™€ ๋ถ€๋ถ„ URI ์‚ฌ์šฉ๊ทœ์น™ (p167์ฐธ์กฐ)

โ‘ค ์ „์†ก ์ค‘ URI ๋ณ€๊ฒฝ

  • ๋ฌดํ•ดํ•ด๋ณด์ด๋Š” ์‚ฌ์†Œํ•œ URI ๋ณ€๊ฒฝ์ด๋ผ๋„ ๋‹ค์šด์ŠคํŠธ๋ฆผ ์„œ๋ฒ„์™€ ์ƒํ˜ธ์šด์šฉ์„ฑ ๋ฌธ์ œ๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ธฐ์œ„ํ•ด ์‹ ๊ฒฝ์จ์•ผํ•œ๋‹ค.

  • ์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋ก์‹œ ์„œ๋ฒ„๋Š” ๊ฐ€๋Šฅํ•œ ๊ด€๋Œ€ํ•˜๋„๋ก ์• ์จ์•ผํ•œ๋‹ค.

โ‘ฅ~โ‘จ (uri ๋ถ„์„ ๋ฐฉ๋ฒ• ์ƒ์„ธ ์„ค๋ช… ์ฐธ์กฐ 6.5.6 ~ 6.5.8)

6) ๋ฉ”์‹œ์ง€ ์ถ”์ 

โ‘  Via ํ—ค๋”

  • ๋ฉ”์‹œ์ง€๊ฐ€ ์ง€๋‚˜๋Š” ๊ฐ ์ค‘๊ฐ„ ๋…ธ๋“œ(ํ”„๋ฝ์‹œ or ๊ฒŒ์ดํŠธ์›จ์ด)์˜ ์ •๋ณด๋ฅผ ๋‚˜์—ดํ•œ๋‹ค.

  • ๋ฉ”์‹œ์ง€์˜ ์ „๋‹ฌ์„ ์ถ”์ ํ•˜๊ณ , ๋ฉ”์‹œ์ง€ ๋ฃจํ”„๋ฅผ ์ง„๋‹จํ•˜๊ณ , ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ , ๊ทธ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋Œ๋ ค์ฃผ๋Š” ๊ณผ์ •์— ๊ด€์—ฌํ•˜๋Š” ๋ชจ๋“  ๋ฉ”์‹œ์ง€ ๋ฐœ์†ก์ž๋“ค์˜ ํ”„๋กœํ† ์ฝœ์„ ๋‹ค๋ฃจ๋Š” ๋Šฅ๋ ฅ์„ ์•Œ์•„๋ณด๊ธฐ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.

  • ๋„คํŠธ์›Œํฌ์˜ ๋ผ์šฐํŒ… ๋ฃจํ”„๋ฅผ ํƒ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

  • ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๊ฒฝ์œ ์ง€(waypoint)์˜ ๋ชฉ๋ก

โ‘ก Trace Method

ํ™‰์—์„œ ํ™‰์œผ๋กœ ์ ˆ๋‹ฌ๋ ๋•Œ๋งˆ๋‹ค ๋ฉ”์‹œ์ง€์˜ ๋‚ด์šฉ์ด ์–ด๋–ป๊ฒŒ ๋ณ€ํ•˜๋Š”์ง€ ํŽธ๋ฆฌํ•˜๊ฒŒ ๊ด€์ฐฐํ•  ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ–๋‹ค.

ํ”„๋ฝ์‹œ์˜ ์—ฐ์‡„๋ฅผ ๋”ฐ๋ผ ์–ด๋–ค ํ”„๋ฝ์‹œ๋ฅผ ์ง€๋‚˜๊ฐ€๊ณ , ๊ฐ ํ”„๋ฝ์‹œ๊ฐ€ ์š”์ฒญ๋ฉ”์‹œ์ง€๋ฅผ ์–ด๋–ป๊ฒŒ ์ˆ˜์ •ํ•˜๋Š”์ง€ ๊ด€์ฐฐ/์ถ”์ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ ํ”„๋ฝ์‹œ ํ๋ฆ„์„ ๋””๋ฒ„๊น…ํ•˜๋Š”๋ฐ ๋งค์šฐ ์œ ์šฉํ•˜๋‹ค.

7) ํ”„๋ฝ์‹œ ์ธ์ฆ

์ ‘๊ทผ ์ œ์–ด ์žฅ์น˜๋กœ์„œ ์ œ๊ณต์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ ์œ ์š”ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ ์ž๊ฒฉ์„ ํ”„๋ฝ์‹œ์— ์ œ์ถœํ•˜์ง€ ์•Š๋Š” ํ•œ ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•œ ์š”์ฒญ์„ ์ฐจ๋‹จํ•˜๋Š” ํ”„๋ฝ์‹œ ์ธ์ฆ์ด๋ผ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ •์˜ํ•˜๊ณ ์žˆ๋‹ค.

8) ํ”„๋ฝ์‹œ ์ƒํ˜ธ์šด์šฉ์„ฑ

ํด๋ผ์ด์–ธํŠธ, ์„œ๋ฒ„, ํ”„๋ฝ์‹œ๋Š” HTTP ๋ช…์„ธ์˜ ์—ฌ๋Ÿฌ ๋ฒ„์ „์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ๋ฒค๋”์— ์˜ํ•ด ๋งŒ๋“ค์–ด์ง„๋‹ค.

๊ทธ๋“ค์ด ์ง€์›ํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๊ณ  ๊ฐ๊ฐ ๋‹ค๋ฅธ ๋ฒ„๊ทธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

ํ”„๋ฝ์‹œ ์„œ๋ฒ„๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ์„ ๊ตฌํ˜„ํ–ˆ์„ ์ˆ˜๋„ ์žˆ๊ณ  ์ด์ƒํ•œ ๋™์ž‘์„ ํ•  ์ˆ˜๋„ ์žˆ๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋ฅผ ์ค‘๊ฐœํ•ด์•ผํ•œ๋‹ค.

  • ์ง€์›ํ•˜์ง€ ์•Š๋Š” ํ—ค๋”์™€ ๋ฉ”์„œ๋“œ ๋‹ค๋ฃจ๊ธฐ

    • ํ”„๋ฝ์‹œ๋Š” ์ดํ•ดํ•  ์ˆ˜ ์—†๋Š” ํ—ค๋” ํ•„๋“œ๋Š” ๋ฐ˜๋“œ์‹œ ๊ทธ๋Œ€๋กœ ์ „๋‹ฌํ•ด์•ผํ•˜๋ฉฐ, ๊ฐ™์€ ์ด๋ฆ„์˜ ํ—ค๋”ํ•„๋“œ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ๊ทธ๋“ค์˜ ์ƒ๋Œ€์ ์ธ ์ˆœ์„œ๋„ ๋ฐ˜๋“œ์‹œ ์œ ์ง€ํ•ด์•ผํ•œ๋‹ค.

  • options: ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๊ธฐ

  • allow ํ—ค๋”: ์š”์ฒญ uri์— ์˜ํ•ด ์‹๋ณ„๋˜๋Š” ์ž์›์— ๋Œ€ํ•ด ์ง€์›๋˜๋Š” ๋ฉ”์„œ๋“œ๋“ค์ด๋‚˜ ์„œ๋ฒ„๊ฐ€ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ๋ฉ”์„œ๋“œ ์—ด๊ฑฐ

[์šฉ์–ด ์ •๋ฆฌ]

  • ํŠธ๋ž˜ํ”ฝ(Traffic): ์„œ๋ฒ„์™€ ์Šค์œ„์น˜ ๋“ฑ ๋„คํŠธ์›Œํฌ ์žฅ์น˜์—์„œ ์ผ์ •์‹œ๊ฐ„ ๋‚ด์— ํ๋ฅด๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘

  • ISP(Internet Service Provider): ๊ฐœ์ธ, ๊ธฐ์—…์ฒด์— ์ธํ„ฐ๋„ท ์ ‘์† ์„œ๋น„์Šค, ์›น์‚ฌ์ดํŠธ ๊ตฌ์ถ• ๋ฐ ์›นํ˜ธ์ŠคํŒ…๋“ฑ์„ ์ œ๊ณตํ•˜๋Š” ํšŒ์‚ฌ(๊ตญ๋‚ด์— KT, SK ๋ธŒ๋กœ๋“œ๋ฐด๋“œ, LG U+)

Last updated