인코딩이란?
먼저 사전적 용어를 찾아보면,
정보의 형태나 형식을 표준화, 보안, 처리 속도 향상, 저장 공간 절약 등을 위해서 다른 형태나 형식으로 변환하는 처리 혹은 그 처리 방식을 말한다.
즉, 컴퓨터가 이해할 수 있는 형식으로 바꾸어주는 것을 의미한다.
1. ASCII 인코딩
▣ 영문자를 컴퓨터가 해석할 수 있는 숫자로 변환 시켜준다.
1byte(8bit)중에서 7bit를 이용하여 표현 하므로 총 127개의 문자를 표현할 수 있다.
▣ 해당하는 수와 문자를 매칭시키시면 된다.
2. URL 인코딩
▣ ASCII코드에 없는 영어를 제외한 외국어(한국어 포함)와 ASCII코드에서 표현하지 않는 특수문자를 표현하기 위해 사용된다.
▣ URL인코딩의 특징으로는 코드의 앞에 %문자 가 포함된다.
※ 중요 URL 메타문자
종류 |
URL 코드 |
특징 |
? |
%3F |
인자(파라미터)를 넘겨줄 때 사용한다 |
& |
%26 |
각각의 인자를 구분할 때 사용한다. |
= |
%3D |
인자 전달자로서 인자값을 인자로 전달할 때 사용한다. |
% |
%25 |
16진수(Hex)값을 표현할 때 사용한다. |
+ |
- |
공백 문자를 표현할 때 사용한다. |
Null(공백) |
%00 |
공백을 표현할 때 사용한다. |
※ URL 인코딩 사용 예제
“URL 인코딩” 검색시 아래 그림과 같이 URL 인코딩이 되어 표시된다.
3. HTML 인코딩
▣ HTML문서 안에는 스크립트와 같이 특수 기능을 하는 문자들이 포함된다.
악의적인 특수기능을 막기위해 HTML인코딩을 사용한다.
▣ ASCII코드값을 기준으로 인코딩된다.
EX) A (ASCII값==65) --HTML인코딩--> %#65;
▣ HTML인코딩의 특징으로는 코드의 앞에 %#문자 가 포함된다.
▣ HTML 인코딩은 XSS의 방어 대책으로 사용된다.
4. Base64 인코딩
▣ 이메일 사용을 위한 인터넷 표준 포맷인 MIME을 사용하기 위해 사용한다.
SMTP라는 이메일 전송 프로토콜도 존재하지만 ASCII는 7비트 문자만 지원하기 때문에 더많은 문자를 표현하기 위해 사용된다.
▣ Base64 인코딩의 특징으로는 코드의 마지막에 = 또는 == 문자 가 포함된다.
▣ Base64 인코딩은 8bit의 문자를 6bit단위로 나누어 준다. 각각의 6bit를 Base64인코딩 테이블과 매칭시키는 방식을 사용한다.
※ Base64 인코딩 테이블
6-bit |
char |
6-bit |
char |
6-bit |
char |
6-bit |
char |
0 |
A |
17 |
R |
34 |
i |
51 |
z |
1 |
B |
18 |
S |
35 |
j |
52 |
0 |
2 |
C |
19 |
T |
36 |
k |
53 |
1 |
3 |
D |
20 |
U |
37 |
l |
54 |
2 |
4 |
E |
21 |
V |
38 |
m |
55 |
3 |
5 |
F |
22 |
W |
39 |
n |
56 |
4 |
6 |
G |
23 |
X |
40 |
o |
57 |
5 |
7 |
H |
24 |
Y |
41 |
p |
58 |
6 |
8 |
I |
25 |
Z |
42 |
q |
59 |
7 |
9 |
J |
26 |
a |
43 |
r |
60 |
8 |
10 |
K |
27 |
b |
44 |
s |
61 |
9 |
11 |
L |
28 |
c |
45 |
t |
62 |
+ |
12 |
M |
29 |
d |
46 |
u |
63 |
/ |
13 |
N |
30 |
e |
47 |
v |
|
|
14 |
O |
31 |
f |
48 |
w |
|
|
15 |
P |
32 |
g |
49 |
x |
|
|
16 |
Q |
33 |
h |
50 |
y |
|
'web' 카테고리의 다른 글
webhacking.kr을 통해 배우는 웹 해킹 기초 (0) | 2015.03.02 |
---|---|
Owasp Top 10 2013 (0) | 2015.01.21 |
쿠키(Cookie)와 세션(Session) (0) | 2014.07.05 |
HTTP란? (2) | 2014.06.04 |
웹 기초 지식 (0) | 2014.06.03 |