[Solved]Apache2.2 URI 에서 + 는 공백이 아니군요-_-;

14984
points
points
http://domain/a+a.txt 라고 하면 'a a.txt' 를 가져와야 정상입니다. 또 php 에서 urlencode() 를 하면 당연히 공백은 + 가 됩니다. 그런데 아파치 기본동작은 그렇지 않군요. %20으로 해야만 됩니다. 원래 그런건가요? ? 뒤의 것만 urlencode 가 유효한건가요?
KLDPOpen Source, Geek, IT... |
|
사용자 로그인둘러보기KLDP 내용 검색KLDP Wiki |
[Solved]Apache2.2 URI 에서 + 는 공백이 아니군요-_-;![]() 14984 points http://domain/a+a.txt 라고 하면 'a a.txt' 를 가져와야 정상입니다. 또 php 에서 urlencode() 를 하면 당연히 공백은 + 가 됩니다. 그런데 아파치 기본동작은 그렇지 않군요. %20으로 해야만 됩니다. 원래 그런건가요? ? 뒤의 것만 urlencode 가 유효한건가요? |
points
http://www.php.net/manual/kr/
http://www.php.net/manual/kr/function.urlencode.php 페이지의 내용에 따르면...
기본적으로 URL 문자열은 rawurlencode() 방식 대로 인코딩 하되, 폼의 인자("?" 뒤의 GET 데이터 및 POST 데이터)는 역사적 이유로 urlencode() 방식으로 인코딩 한다라는 건가봅니다. 둘 사이의 차이점이 바로 space 문자를 "%20"으로 인코딩 하느냐 "+"로 인코딩 하느냐이구요.
인즉, http://domain/a+a.txt 로 "a a.txt"를 가져오는 것이 정상이거나 일반적이라고 보기는 힘들겠습니다. :-)
----
$PWD `date`