Open beecomci opened 3 years ago
A-Z a-z 0-9 - _ . ! ~ * ' ( )
encodeURIComponent('\uD800')
URI(Uniform Resource Identifier)는 하나의 리소스를 가리키는 문자열 가장 흔한 URI로는 URL로, 웹 상에서의 위치로 리소스를 식별하며 프로토콜을 포함 (웹 상에 있는 자료의 id이다?) URI가 URL보다 더 포괄적인 개념
예를 들어, http://a.com?name=egoing&job=programmer 에서 &job=programmer 중 &는 하나의 파리미터가 끝나고 다음 파라미터가 온다는 의미 그런데 job의 값에 &가 포함되어 버리면 job의 값을 제대로 인식할 수 없다.
http://a.com?name=egoing&job=programmer
&job=programmer
&
그래서 이런 문제를 회피하기 위해 다음과 같이 치환 http://a.com?name=egoing&job=programmer%26blogger 그럼 시스템에서는 %26을 &로 해석하고 의도대로 job을 해석할 수 있게 된다.
http://a.com?name=egoing&job=programmer%26blogger
%26
이러한 처리를 이스케이핑(escaping)이라고 한다.
이스케이핑(escaping)
encodeURI() : 특정 문자를 escape 할 때 encodeURIComponent() : 인터넷 주소 전체를 인코딩할 때
참고 : https://www.opentutorials.org/course/50/190
encodeURIComponent(str)
A-Z a-z 0-9 - _ . ! ~ * ' ( )
문자를 제외한 문자를 이스케이프함encodeURIComponent('\uD800')
URI ?
URI(Uniform Resource Identifier)는 하나의 리소스를 가리키는 문자열 가장 흔한 URI로는 URL로, 웹 상에서의 위치로 리소스를 식별하며 프로토콜을 포함 (웹 상에 있는 자료의 id이다?) URI가 URL보다 더 포괄적인 개념
이스케이프 ?
예를 들어,
http://a.com?name=egoing&job=programmer
에서&job=programmer
중&
는 하나의 파리미터가 끝나고 다음 파라미터가 온다는 의미 그런데 job의 값에 &가 포함되어 버리면 job의 값을 제대로 인식할 수 없다.그래서 이런 문제를 회피하기 위해 다음과 같이 치환
http://a.com?name=egoing&job=programmer%26blogger
그럼 시스템에서는%26
을&
로 해석하고 의도대로 job을 해석할 수 있게 된다.이러한 처리를
이스케이핑(escaping)
이라고 한다.encodeURI() vs encodeURIComponent() ?
encodeURI() : 특정 문자를 escape 할 때 encodeURIComponent() : 인터넷 주소 전체를 인코딩할 때
참고 : https://www.opentutorials.org/course/50/190