ITstudy

URL ์ธ์ฝ”๋“œ์™€ ๋””์ฝ”๋“œ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ฐœ๋…

martinooo 2024. 1. 25. 16:57
728x170

 

๐Ÿฃ์ธ์ฝ”๋”ฉ & ๋””์ฝ”๋”ฉ ์ด๋ž€?

Encoding: ์ธ์ฝ”๋”ฉ์ด๋ž€ ์‚ฌ๋žŒ์ด ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž์—ด์„ ๋ฐ”์ดํŠธ ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ ํ•˜๋Š” ๊ณผ์ • 

Decoding: ๋””์ฝ”๋”ฉ์ด๋ž€ ์ธ์ฝ”๋”ฉ๊ณผ ๋ฐ˜๋Œ€ ๊ฐœ๋…์œผ๋กœ ๋ฐ”์ดํŠธ ํ˜•์‹์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ ํ•˜๋Š” ๊ณผ์ • 

์ธ์ฝ”๋”ฉ๊ณผ ๋””์ฝ”๋”ฉ์€ ์ฃผ๋กœ HTTP ํ†ต์‹ ์„ ํ• ๋•Œ URI์— ํ•œ๊ธ€ ํ˜น์€ ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์„๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. 

 

๐Ÿฃ์ธ์ฝ”๋”ฉ & ๋””์ฝ”๋”ฉ ๊ฐœ๋…

EX: URI ์ƒ์ˆ˜์— ๊ฐ’์„ encodeURI๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด ์•„๋ž˜์— ๋ณ€ํ™˜๋œ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜๋œ๋‹ค. 

์ธ์ฝ”๋”ฉ๋œ ๊ฐ’์„ ๋‹ค์‹œ decodeURI๋กœ ๋ณ€ํ™˜์„ ํ•˜๋ฉด ๋‹ค์‹œ ์•ˆ๋…•ํ•˜์„ธ์š” ๋ฌธ์ž์—ด์„ ๋ณ€ํ™˜์‹œํ‚จ๋‹ค. 

 

์ธ์ฝ”๋”ฉ๊ณผ ๋””์ฝ”๋”ฉ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

์ธ์ฝ”๋”ฉ๊ณผ ๋””์ฝ”๋”ฉ์„ ํ•˜๋Š” ์ด์œ  ์ค‘์— ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” URI ์ฃผ์†Œ ๋˜๋Š” file ์ด๋ฆ„์— ํ•œ๊ธ€ or ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜๋ฉด ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์—๋Ÿฌ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ธ์ฝ”๋”ฉ๊ณผ ๋””์ฝ”๋”ฉ์„ ํ™œ์šฉํ•ด์„œ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๊ฐ’์„ ์–ป์„์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฒ˜๋ฆฌ๋ฅผ 

"์ด์Šค์ผ€์ดํ•‘" ์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

const uri = "https://mozilla.org/?keyword=์•ˆ๋…•ํ•˜์„ธ์š”";
const encoded = encodeURI(uri);
console.log(encoded);
// Expected output: "https://mozilla.org/?keyword=%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94"
console.log(decodeURI(encoded));
//Expected output: https://mozilla.org/?keyword=์•ˆ๋…•ํ•˜์„ธ์š”

 

๐ŸฃJavascript ๋‚ด์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ฝ”๋”ฉ & ๋””์ฝ”๋”ฉ ๋ฉ”์„œ๋“œ 

 

 

encodeURI(), decodeURI()

  • ์ด ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด์„œ "full URL"์„ ์ธ์ฝ”๋“œํ•˜๊ฑฐ๋‚˜ ๋””์ฝ”๋“œํ•ด์„œ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค. 
  • encodeURI()๋Š” "full URL"์„ ์ธ์ฝ”๋”ฉํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ธ์ฝ”๋”ฉ ์ œ์™ธ ๋ฌธ์ž๊ฐ€ ์žˆ๋‹ค. 

 

URI Syntax ์— ํฌํ•จ๋˜์–ด ์ œ์™ธ๋˜๋Š” ๊ธฐํ˜ธ๋“ค, encodeURI() ์˜ ์ œ์™ธ ๊ธฐํ˜ธ๋“ค์€ ์•„๋ž˜์˜ ๋ฌธ์ž๋“ค์ž…๋‹ˆ๋‹ค.

A–Z a–z 0–9 - _ . ! ~ * ' ( )

; / ? : @ & = + $ , #

 

 

URI Syntax์— ํฌํ•จ๋˜์–ด ์ œ์™ธ๋˜๋Š” ๊ธฐํ˜ธ๋“ค์€ encodeURI() ํ•จ์ˆ˜์—์„œ ๋ณ€ํ™˜์ด ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„์„ ์ž˜ ๊ณ ๋ คํ•ด์•ผ๋œ๋‹ค.

 

encodeURIComponent(), decodeURIComponent()

  • encodeURIComponent()๋Š” encodeURI() ์˜ URI Syntax ๊ธฐํ˜ธ๋ฅผ ์ œ์™ธํ•˜์ง€ ์•Š๊ณ  ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ์ธ์ฝ”๋”ฉํ•ฉ๋‹ˆ๋‹ค.
  • encodeURI()์—์„œ ๋ณ€ํ™˜๋˜์ง€ ์•Š๋Š” ๋ฌธ์ž๋“ค ๋•Œ๋ฌธ์— encodeURIComponent() ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•ด์„œ ์ธ์ฝ”๋”ฉ์„ ํ•˜๋ฉด ๋œ๋‹ค. 

edcodeURI์™€ encodeURIComponent ๋ฉ”์„œ๋“œ๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ํ™œ์šฉํ•ด์„œ ์ธ์ฝ”๋”ฉ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 


 

์žฌ๋ฐŒ๋Š” ์˜ค๋Š˜์˜ ๋ ๋ณ„ ์šด์„ธ ๋ณด๊ณ ๊ฐ€์„ธ์š”! 

๊ทธ๋ฆฌ๋“œํ˜•