sitelink1 https://stackoverflow.com/questions/2678...plus-or-20 
sitelink2 https://stackoverflow.com/questions/1634...cter-or-20 
sitelink3  
sitelink4  
extra_vars5  
extra_vars6  

WWW 폼에서 인코딩한 포스트 데이터, "application/x-www-form-urlencoded"는

공백은 플러스(+) 기호로 인코딩하고 나머지는 퍼센트(%) 뒤에 16진수 아스키값을 출력하는 방식으로 인코딩한다.

 

관련 스펙 => https://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1

 

PHP, JavaScript, VC++ 등의 언어에서는 다음과 같은 encode함수를 제공한다

 

PHP의 urlencode()와 rawurlencode()

 

urlencode()는 "-_."과 영숫자를 제외한 모든 문자를 인코딩한다.
공백은 플러스(+) 기호로 인코딩하고 나머지는 퍼센트(%) 뒤에 16진수 아스키값을 출력하는 방식으로 인코딩한다.
이 인코딩 방식은 WWW 폼에서 인코딩한 포스트 데이터, "application/x-www-form-urlencoded"와 같은 방식이다.
rawurlencode()는 RFC1738의 규약대로 인코딩한다. RFC1738에서는 공백을 "%20"으로 인코딩한다.

참고: http://kr2.php.net/urlencode, http://kr2.php.net/rawurlencode


-------------------------------------------------------------------------------
JavaScript의 URLEncode, URLDecode 구현

알파벳, 숫자, "-_.!~*'()"는 Safe 문자로 구분하여 그대로 사용하고, 공백은 "+"로, 그밖의 Unsafe 문자는 "%xx"로 인코딩한다. xx에는 16진수의 아스키값이 온다.
참고로 JavaScript에서 제공하는 escape(), unescape()는 공백을 "%20"으로 인코딩하고 "+"를 Safe 문자로 구분한다.

참고: http://www.albionresearch.com/misc/urlencode.php


-------------------------------------------------------------------------------
VC++에서 POST 요청 구현

참고: http://support.microsoft.com/?kbid=165298

 

 

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
125 div와 span의 차이점 (from Bing) 황제낙엽 2023.06.16 2
124 flexbox (flexible box layout) 황제낙엽 2023.02.27 0
123 characters from ISO 8859-1 황제낙엽 2020.11.10 28609
122 HTML FRAMESET 태그 예제 황제낙엽 2020.11.06 13
121 스마트 기기에서 여러 단말기의 해상도에 대응하기 위해 사용하는 HTML viewport meta tag 황제낙엽 2020.11.06 41
120 네이버의 무료 나눔 글꼴 황제낙엽 2020.05.06 1110
119 서버의 이미지나 txt 파일을 웹브라우저에서 다운로드하기 황제낙엽 2019.05.13 82
» When to encode space to plus (+) or %20? (application/x-www-form-urlencoded) 황제낙엽 2019.04.15 99
117 HTTP/2 소개 황제낙엽 2018.10.12 59
116 글자, 문자, 텍스트, 글꼴, 서체, 폰트와 관련한 속성들 / font-size , 크기 단위(em, px, pt, rem), 절대 단위, 상대 단위 황제낙엽 2018.04.18 147
115 Pragma와 Cache-Control 황제낙엽 2018.03.28 61
114 로드밸런싱(L4)+아파치를 운영시 etag제거로 캐시 성능 최적화 file 황제낙엽 2018.03.28 226
113 HTTP 요청 헤더 III - If-Match, If-Modified-Since, If-None-Match file 황제낙엽 2018.03.27 87
112 재미난 로그인 페이지 만들기 file 황제낙엽 2018.03.26 202
111 HTTP Cache-Control 요청 지시어 황제낙엽 2018.03.09 67
110 내 웹사이트의 속도를 빠르게! file 황제낙엽 2018.03.07 183
109 성능을 위한 초간단 HTTP 304 Not Modified 구현 방법 file 황제낙엽 2018.03.07 97
108 accept 와 Content-type의 차이는? 황제낙엽 2018.03.07 59
107 [MIME type/content type/media type] text/javascript와 application/javascript의 차이점 황제낙엽 2017.11.23 166
106 User Agent 에 관련된 링크 황제낙엽 2017.11.20 595