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

송효진의 이미지
14984
points
0
points

http://domain/a+a.txt 라고 하면 'a a.txt' 를 가져와야 정상입니다. 또 php 에서 urlencode() 를 하면 당연히 공백은 + 가 됩니다. 그런데 아파치 기본동작은 그렇지 않군요. %20으로 해야만 됩니다. 원래 그런건가요? ? 뒤의 것만 urlencode 가 유효한건가요?

wariua의 이미지
2990
points

http://www.php.net/manual/kr/

0
points

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`

댓글 보기 옵션

원하시는 댓글 전시 방법을 선택한 다음 "설정 저장"을 누르셔서 적용하십시오.