URL에 공백이 있습니까?
이 질문에 이미 답변이 있습니다.
- URL에 공백을 포함 할 수 있습니까? 10 개의 답변
w3fools 는 URL에 공백이 포함될 수 있다고 주장합니다. http://w3fools.com/#html_urlencode
이것이 사실입니까? URL이 인코딩되지 않은 공간을 어떻게 포함 할 수 있습니까?
HTTP 요청 의 요청 줄은 공백을 구분 기호로 사용하며 다음과 같이 형식이 지정됩니다 {the method}{space}{the path}{space}{the protocol}
.
GET /index.html http/1.1
그렇다면 어떻게 URL에 공백이 포함될 수 있습니까? 가능하다면 공백을 대체하는 관행은 +
어디에서 왔습니까?
URL에는 리터럴 공백이 없어야합니다. 이것은 어느하여 부호화해야 퍼센트 인코딩 용도에 있는지 또는 다른 인코딩을 URL 안전 문자 (같은 애플리케이션 / x-www-form-urlencoded로 그 용도 +
가 아닌 %20
공간에 대한).
그러나 진술이 옳고 그른지는 해석에 따라 다릅니다. 구문 적으로 URI는 리터럴 공백을 포함하지 않아야하며 인코딩되어야합니다. 의미 상 a %20
는 공간이 아니지만 (분명히) 공간을 나타냅니다 .
그들은 참으로 바보입니다. RFC 3986 Appendix A 를 보면 URL 정의 문법에서 "공백"이 언급되지 않는다는 것을 알 수 있습니다. 문법에서 언급되지 않았기 때문에 공백을 인코딩하는 유일한 방법은 백분율 인코딩 ( %20
)입니다.
실제로 RFC는 공백이 구분 기호이므로 무시해야한다고 명시합니다.
경우에 따라 추가 공백 (공백, 줄 바꿈, 탭 등)을 추가하여 줄에서 긴 URI를 분리해야 할 수 있습니다. URI를 추출 할 때 공백을 무시해야합니다.
과
견고성을 위해 사용자 입력 URI를 허용하는 소프트웨어는 구분 기호와 포함 된 공백을 모두 인식하고 제거해야합니다.
흥미롭게도 +
공간에 대한 인코딩으로를 사용 하는 것은 RFC에서 언급되지 않지만 하위 구분자로 예약되어 있습니다. 나는 그것의 사용이 단지 관례이거나 다른 RFC (아마도 HTTP)에 의해 다루어 진다고 생각합니다.
공백은 다음과 같이 "% 20"으로 대체됩니다.
http://www.example.com/my%20beautiful%20page
정보가 부분적으로 정확하다고 생각합니다.
그건 사실이 아니야. URL은 공백을 사용할 수 있습니다. 공백이 + 기호로 대체된다는 것을 정의하는 것은 없습니다.
언급했듯이 URL은 공백을 사용할 수 없습니다. HTTP 요청이 망가질 것입니다. 표준 +
이지만 어디에 정의되어 있는지 잘 모르겠습니다 %20
.
참고 URL : https://stackoverflow.com/questions/5442658/spaces-in-urls
'IT박스' 카테고리의 다른 글
중괄호 일치를위한 IntelliJ IDEA 바로 가기 키맵 (0) | 2020.12.01 |
---|---|
JavaScript가 if 문에서 쉼표를 허용하는 이유는 무엇입니까? (0) | 2020.12.01 |
자바 : 특정 코드 블록에 시간 초과 설정? (0) | 2020.12.01 |
Assert.AreNotEqual과 Assert.AreNotSame의 차이점은 무엇입니까? (0) | 2020.11.30 |
CSS는 개발 환경과 웹 서버에서 다르게 렌더링됩니다. (0) | 2020.11.30 |