2013년 3월 30일 토요일

URL encoding



참고한 사이트

아래는 예약된 코드들 입니다.

CharacterCode
Points
(Hex)
Code
Points
(Dec)
 Dollar ("$")
 Ampersand ("&")
 Plus ("+")
 Comma (",")
 Forward slash/Virgule ("/")
 Colon (":")
 Semi-colon (";")
 Equals ("=")
 Question mark ("?")
 'At' symbol ("@")
24
26
2B
2C
2F
3A
3B
3D
3F
40
36
38
43
44
47
58
59
61
63
64


확인하는 방법은 브라우져의 url입력부에다가 해당 심볼을 쳐보면 알 수 있습니다.

URL인코딩은 안전하지 않는 ASCII문자를 대체하여 사용됩니다. 


CharacterCode
Points
(Hex)
Code
Points
(Dec)
Why encode?
Space2032Significant sequences of spaces may be lost in some uses (especially multiple spaces) 스페이스를 %20형식의 방식으로 사용하지 않으면 내용이 날라 갈 수 있으니가 특히 더블 스페이스를 입력했을때 스페이스를 날려버릴 수 있으니까 이러한 코드로 사용한다. 참고로 W3표준에서는 공백을 인정하지 않는다. 즉 공백을 포함할 수 없다. 일반적으로는 공백을 + 기호로 대처한다.
Quotation marks
'Less Than' symbol ("<")
'Greater Than' symbol (">")
22
3C
3E
34
60
62
These characters are often used to delimit URLs in plain text. 구분자로 사용되는 문자로 텍스트로 표현하지 않으면 내용이 전달이 될때 웹어플리케이션이나 서버에서 해석을 하려 들기 때문이다. 그렇게 되면 데이터 파괴 스크립트 실행등의 공격이 될 수 있다. 그래서 텍스트로 인식할 수 있게 자동으로 바꾸는 것이다.
'Pound' character ("#")2335This is used in URLs to indicate where a fragment identifier (bookmarks/anchors in HTML) begins. 시작위치에 표시되는 문자.
Percent character ("%")2537This is used to URL encode/escape other characters, so it should itself also be encoded. 정말 중요한 문자이다. 이 문자는 url인코딩을 들어가느냐 나가느냐를 판단하는 문자로 만약 이 문자가 url에서 입력이 되었을때 그대로 받아 들여 지게 된다면 %이후는 인코딩타입으로 인식하게 된다. 그래서 이걸 순수히 url로 전달할때는 %25 로 변환되어 들어가게 되는것이다. 
Misc. characters:
   Left Curly Brace ("{")
   Right Curly Brace ("}")
   Vertical Bar/Pipe ("|")
   Backslash ("\")
   Caret ("^")
   Tilde ("~")
   Left Square Bracket ("[")
   Right Square Bracket ("]")
   Grave Accent ("`")

7B
7D
7C
5C
5E
7E
5B
5D
60

123
125
124
92
94
126
91
93
96
Some systems can possibly modify these characters.

이러한 문자를 항상 인코딩 해야 하는 이유는 url상에서 해석이 되어 버려서 다양한 문제점을 야기 할 수 있기 때문입니다. 특히 html인코딩과 비슷한 이유에서 이러한 문자들이 문자가 아닌 스크립트를 실행하는 혹은 인젝션을 실행하는 내용일 경우 해당 시스템은 피해를 볼 가능성이 존재하게 됩니다.



URL encoding of a character consists of a "%" symbol, followed by the two-digit hexadecimal representation (case-insensitive) of the ISO-Latin code point for the character.
URL인코딩은 %를 기준으로 인코딩을 하게 됩니다. %뒤에 2개의 16진수 코드를 입력하여 인코딩을 합니다.
space="%20"
ex) xxx.asp?usid=123&%20and%20select....



참고. 한글이 포함된 URL을 외부사이트로 보낼때 링크가 깨지는것을 막을때도 url인코딩을 사용합니다.

댓글 없음:

댓글 쓰기