IT์ธ์ด๋ผ๋ฉด ์ด๋์์๋ ํ๋ฒ์ฏค์ ๋ค์ด๋ดค์ ๋ฒํ "์ธ์ฝ๋ฉ!"
๊ฐ์ข
์ฌ์ดํธ์์ Web๋ฌธ์ ๋ฅผ ํ๋๋ ์์ฃผ ๋ฑ์ฅํ๋๋ฐ์,
์ค๋์ ์ ๊ฐ ์์ฃผ ์ฐ๋ ์ธ์ฝ๋ฉ ์ข
๋ฅ์, ์ธ์ฝ๋ฉ์ด ๋ฌด์์ธ์ง์ ๋ํด ๊ฐ๋จํ๊ฒ ์ค๋ช
ํด๋ณด๋ ค ํฉ๋๋ค.
(์ ๊ฐ ์๊ณ ์์ด์ผ ํด์ ์ ๋ฆฌ๊ฒธ ์จ๋์ ๊ฒ์ด๋, ํ๋ฆฐ ๋ฌธ์ฅ์ ๋๊ธ๋ก ์ง์ ํด์ฃผ์ธ์.)
์ธ์ฝ๋ฉ?
์ธ์ฝ๋ฉ(encoding)์ ์ ๋ณด์ ํํ๋ ํ์์ ํ์คํ, ๋ณด์, ์ฒ๋ฆฌ ์๋ ํฅ์, ์ ์ฅ ๊ณต๊ฐ ์ ์ฝ ๋ฑ์ ์ํด์ ๋ค๋ฅธ ํํ๋ ํ์์ผ๋ก ๋ณํํ๋ ์ฒ๋ฆฌ ํน์ ๊ทธ ์ฒ๋ฆฌ ๋ฐฉ์์ ๋งํ๋ค. ๋์์์ด๋ ์ด๋ฏธ์ง์์ญ์์๋ ๋ง์ด ์ฌ์ฉ๋๋ ์ฉ์ด๋ก, ์ข
๋ฅ๊ฐ ๋ค์ํ๋ค.
ํน์ง
- ์ ๋ณด์ ํํ๋ ํ์์ ๋ณํํ๋ ์ฒ๋ฆฌ๋ ์ฒ๋ฆฌ ๋ฐฉ์
- ๋ด์ฉ์๋ ๋ณํ๊ฐ ์๋ค. ์ฆ ํํ๋ฅผ ๋ฐ๊พธ๋ ๊ฒ์ด์ง ๋ด์ฉ์ ๋ฐ๊พธ๋ ๊ฒ์ด ์๋.
- ์ํธํ๋ก๋ ์ฌ์ฉ ๋ถ๊ฐ๋ฅ. (์ํธํ : ๋ชป ์์๋ด์ผํจ -> ์ฆ ๊ท์น์ด ์ผ์ ์น ์๊ฒ ์นํ ํน์ ์ ์น ํ๋๋ฐ,
์ธ์ฝ๋ฉ์ ๊ฐ๋
๊ณผ๋ ๋ค๋ฆ)
- ์ข
๋ฅ๋ก๋ ASCII , URL , HTML , Base64 .....๋ฑ์ ์ธ์ฝ๋ฉ์ด ์๋ค. (๊ทธ์ธ์๋ ์ ๋ง ๋ค์ํ ์ธ์ฝ๋ฉ์ด ์กด์ฌ ํจ.)
์ํค๋ฐฑ๊ณผ์์๋ ์ธ์ฝ๋ฉ์ ์๋์ ๊ฐ์ด ์ ์ํ๊ณ ์๋ค.
https://ko.wikipedia.org/wiki/%EC%9D%B8%EC%BD%94%EB%94%A9
ASCII ์ธ์ฝ๋ฉ
ASCII๋ ์ต์ด์ ๋ฌธ์์ด ์ธ์ฝ๋ฉ์ด๋ค. 7 bit๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ์์ด๋ฅผ ์ํ ๋ฌธ์, ์ซ์, ํน์๋ฌธ์, ๊ธฐํธ ๋ฑ 128๊ฐ ๋ฌธ์๋ฅผ ํํํ ์ ์๋ค. ASCII์์๋ ์์ด๋ง์ ๊ณ ๋ คํ์ฌ ๋ง๋ค์ด์ก๊ณ , ์ผ๋ณธ์ด ์ค๊ตญ์ด ๋ฑ ๋ค๋ฅธ ์ธ์ด๋ ํํ์ด ๋ถ๊ฐ๋ฅํ๋ค.
์๋ ์ฌ์ดํธ๋ ์ํค๋ฐฑ๊ณผ์ ์ ์๋ ASCII ์ธ์ฝ๋ฉ์ด๋ค.
https://ko.wikipedia.org/wiki/ASCII
ASCII - ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์
์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์ . 1972 ํ๋ฆฐํฐ ์ฌ์ฉ ์ค๋ช
์์ ๊ฐ์๋ ์์คํค ์ฝ๋ ์ฐจํธํ ๋ฏธ๊ตญ์ ๋ณด๊ตํํ์ค๋ถํธ(์์ด: American Standard Code for Information Interchange), ๋๋ ์ค์ฌ์ ASCII( , ์์คํค)๋ ์๋ฌธ
ko.wikipedia.org
ํน์ง์ ์๋์ ๊ฐ๋ค.
- ASCII (American Standard Code for Information Interchange) : ๋ฏธ๊ตญ ์ ๋ณด๊ตํ ํ์ค ์ฝ๋
- 1Byte ์ค 7bit๋ฅผ ์ด์ฉํด์ 0 ~ 127 ๊น์ง 128๊ฐ์ด ๋ฌธ์๋ฅผ ๊ตฌ์ฑํ ์ฝ๋
- 128๊ฐ์ ๋ฌธ์๋ ์์ด ์ํ๋ฒณ ๋๋ฌธ์, ์๋ฌธ์, ๋ณด์กฐ๋ฌธ์, ์ ์ด๋ฌธ์๋ก ๊ตฌ์ฑ
- ์๋ฌธ ์ํ๋ฒณ์ ์ฌ์ฉํ๋ ๋ํ์ ์ธ ๋ฌธ์ ์ธ์ฝ๋ฉ ๋ฐฉ๋ฒ
URL ์ธ์ฝ๋ฉ
URL ์ธ์ฝ๋ฉ์ ํผ์ผํธ ์ธ์ฝ๋ฉ์ด๋ผ๊ณ ๋ ํ๋ค.
ํผ์ผํธ ์ธ์ฝ๋ฉ์ URL์ ๋ฌธ์๋ฅผ ํํํ๋ ๋ฌธ์ ์ธ์ฝ๋ฉ ๋ฐฉ๋ฒ์ด๋ค. ์ด ๋ฐฉ๋ฒ์ ๋ฐ๋ฅด๋ฉด ์ํ๋ฒณ์ด๋ ์ซ์ ๋ฑ ๋ช๋ช ๋ฌธ์๋ฅผ ์ ์ธํ ๊ฐ์ ์ฅํ
๋จ์๋ก ๋ฌถ์ด์, 16์ง์ ๊ฐ์ผ๋ก ์ธ์ฝ๋ฉํ๋ค.
์๋ ์ฌ์ดํธ๋ ์ํค๋ฐฑ๊ณผ์ ์ ์๋ url ์ธ์ฝ๋ฉ์ด๋ค.
https://ko.wikipedia.org/wiki/%ED%8D%BC%EC%84%BC%ED%8A%B8_%EC%9D%B8%EC%BD%94%EB%94%A9
ํผ์ผํธ ์ธ์ฝ๋ฉ - ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์
์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์ . ํผ์ผํธ ์ธ์ฝ๋ฉ(percent-encoding)์ URL์ ๋ฌธ์๋ฅผ ํํํ๋ ๋ฌธ์ ์ธ์ฝ๋ฉ ๋ฐฉ๋ฒ์ด๋ค. ์ด ๋ฐฉ๋ฒ์ ๋ฐ๋ฅด๋ฉด ์ํ๋ฒณ์ด๋ ์ซ์ ๋ฑ ๋ช๋ช ๋ฌธ์๋ฅผ ์ ์ธํ ๊ฐ์ ์ฅํ
๋จ์๋ก ๋ฌถ์ด๏ฟฝ
ko.wikipedia.org
ํน์ง
- URL์ ์ฌ์ฉ๊ฐ๋ฅํ ๋ฌธ์๊ฐ ์ ํ๋์ด์๋ค.
- URL ์คํ์ธ RFC 1738์๋ URL์ ์ฌ์ฉํ ์ ์๋ ๋ฌธ์๋ ์ํ๋ฒณ, ์ซ์์ ๋ช๊ฐ์ง ํน์๋ฌธ์๋ก ์ ํ๋์ด์๋ค.
- ๋ฐ๋ผ์ ํ๊ธ ๋ฑ์ ๋ค์ํ ๋ฌธ์๋ฅผ URL์ ํ์ํ๋ ค๋ฉด URL์ ํ์ฉํ๋ ๋ฌธ์๋ก ๋ณํํ์ฌ ํํํด์ผ ํ๋ค.
- URL ๋ฉํ๋ฌธ์๋ค์ ๋ํ ์ธ์ฝ๋ฉ์ด ํ์ํ๋ค
- ํ์ : ๊ธฐ์กด ๋ฌธ์์ด์ HEX ๊ฐ ์์ %๋ฅผ ์ฌ์ฉ (ASCII Table์ ์ถ๋ ฅ๊ฐ๋ฅ ๋ฌธ์)
- ํ๊ธ : UTF-8 ์ฌ์ฉ
- Force Full URL Encoding : ๋ชจ๋ ๋ฌธ์์ด์ ๊ฐ์ ๋ก ์ธ์ฝ๋ฉ
HTML ์ธ์ฝ๋ฉ
์๋ ๋ธ๋ก๊ทธ ์ฐธ๊ณ ํด์ฃผ์ธ์.
์ถ์ฒ : https://ghdwn0217.tistory.com/76
Base 64 ์ธ์ฝ๋ฉ
์ปดํจํฐ ๋ถ์ผ์์ ์ฐ์ด๋ Base 64 ๋ 8๋นํธ ์ด์ง ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์ ์ฝ๋์ ์ํฅ์ ๋ฐ์ง ์๋ ๊ณตํต ASCII ์์ญ์ ๋ฌธ์๋ค๋ก๋ง ์ด๋ฃจ์ด์ง ์ผ๋ จ์ ๋ฌธ์์ด๋ก ๋ฐ๊พธ๋ ์ธ์ฝ๋ฉ ๋ฐฉ์์ ๊ฐ๋ฆฌํค๋ ๊ฐ๋
์ด๋ค. ์๋ Base 64๋ฅผ ๊ธ์ ๊ทธ๋๋ก ๋ฒ์ญํ์ฌ ๋ณด๋ฉด 64์ง๋ฒ์ด๋ ๋ป์ด๋ค.
https://ko.wikipedia.org/wiki/%EB%B2%A0%EC%9D%B4%EC%8A%A464
์ํค๋ฐฑ๊ณผ์ ์ ์๋ Base 64 ์ธ์ฝ๋ฉ
BASE64 ์ธ์ฝ๋ฉ ์์
1. ์์คํค ํ
์ด๋ธ ๋งตํ
2. 2์ง์ ๋ณํ
3. 6bit ๋จ์๋ก ๋ถํ
4. 10์ง์ ๋ณํ
5. BASE64 ํ
์ด๋ธ ๋งตํ
6. ํจ๋ฉ์ฐ์ฐ( ์ด ๋นํธ์ % 3 => 0 : ์์ / 1 : = / 2 : == )
ํน์ง
- 2์ง ๋ฐ์ดํฐ๋ฅผ ASCII ํํ์ ํ
์คํธ๋ก ํํ ๊ฐ๋ฅ
- ์น ์ธ์ฆ ์ค ๊ธฐ๋ณธ์ธ์ฆ์ ์ฌ์ฉ
- ๋ ๋ถ๋ถ์ Padding(==)์ผ๋ก ์๋ณ ๊ฐ๋ฅ
- 64๊ฐ์ ๋ฌธ์ ์ฌ์ฉ (์๋ฌธ ๋, ์๋ฌธ์, ์ซ์ , + , / )
- ๋ฐ์ดํฐ๋ฅผ 6bit ๋จ์๋ก ํํ
์ด ํน์ง๋์ base 64 ์ธ์ฝ๋ฉ์ด๋ผ๋ ๊ฒ์ ์กฐ๊ธ ์ฝ๊ฒ ์์์ฑ ์ ์์! (๋ค์ =์ด ์๋ค๋ฉด ์์ฌํด๋ณด๊ธฐ)
์ถ์ฒ: https://itstory.tk/entry/์ธ์ฝ๋ฉ์ด๋-ASCII-URL-HTML-Base64-MS-Script-์ธ์ฝ๋ฉ