본문 바로가기

web

인코딩과 인코딩 방식

인코딩이란?

먼저 사전적 용어를 찾아보면,

정보의 형태나 형식을 표준화, 보안, 처리 속도 향상, 저장 공간 절약 등을 위해서 다른 형태나 형식으로 변환하는 처리 혹은 그 처리 방식을 말한다.

즉, 컴퓨터가 이해할 수 있는 형식으로 바꾸어주는 것을 의미한다.


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