나는 PHP의 http_build_query()
을 알고있다. 쿼리 문자열에 백 슬래시 문자를 url-encode한다. 또한 백 슬래시는 예약 된 문자이므로이 함수에 대해 원하는 동작을 수행한다는 것을 알고 있습니다. 나는 프로그래머들이 unencoded backslash를 쿼리 문자열에 사용하면서 존중하는 사람들을 보았고, 내 URL이 조금 더 멋지게 보이도록하기 위해 동일한 작업을하고 싶어했다. 내 백 슬래시를 URL 인코딩하는 것을 삼가 할 때 어떤 나쁜 점이 있습니까?쿼리 호출에서 백 슬래시를 url-encode하지 않으면 어떤 나쁜 일이 발생합니까?
URL 인코딩 규칙 위반에 대해 생각하기 시작한 이유는 google이 쿼리 문자열에 plusses를 사용한다는 사실입니다. 아무도 그 일을 위해 어떤 일이 일어날 지 알고 있습니까?
궁극적으로 해결하려고하는 문제는 두 개 이상의 쿼리 변수를 설정하지 않고도 인간이 읽을 수있는 안전 문자로 내 ?q=MVC
호출을 구분하는 것입니다.
'+'를 사용하는 것은 쿼리 문자열에서 단어 목록을 보내는 매우 일반적인 방법입니다. 나는 RFC 1738을 인용 할 것이다 : * 스킴 이름은 일련의 문자들로 구성된다. 소문자 "a"- "z", 숫자 및 문자 더하기 ("+"), 마침표 (".") 및 하이픈 ("-")은 허용됩니다. * – Tchoupi
실제로 백 슬래시 \\) 슬래시 (/)가 아닌가? – unor
@unor 당신이 맞을 것 같아요, 아마 슬래시를 사용하고 있었을 것입니다 ... – DudeOnRock