2009-09-21 6 views
7

URL 끝에 슬래시가있는 것과 관련하여이 URL의 차이점이 있습니까?URL 끝에 왜 슬래시가 필요합니까?

https://drchrono.com/about_us 
https://drchrono.com/about_us/ 

않는 웹 프레임 워크와 웹 서버 (예를 들어, 아파치, Nginx에, 장고) 다르게 이러한 요청을 처리?

+3

작은 메모 : 슬래시가 아니라 슬래시입니다. –

답변

5

슬래시가없는 Django URL에는 자동으로 슬래시가 추가됩니다. 이것은 장고 개발자의 선호도이며 웹의 하드 코딩 된 규칙이 아닙니다 (실제로 장고의 환경이라고 생각합니다).

+3

APPEND_SLASH = True – zalew

3

/는 분리 문자입니다. (예 : FTP, HTTP 및 파일 계획 등) 일부 URL 체계가 계층 간주 될 수 이름을 포함

은 RFC에서

; 계층의 구성 요소는 "/"로 구분됩니다.

끝에 /이 있으면 URL에 물건이 더있을 수 있습니다.

1

이들은 서로 다른 요청으로 처리되지만 끝에 동일한 자원/처리기/루틴과 일치 할 수도 있고 같은 방식으로 처리 될 수도 있습니다.

디렉토리와 비슷한 것으로 가정 된 것과 같이 모든 상대 링크는/ie previous/target/something ... 내부에 있지만 상대적 링크는 같은 레벨에 있어야합니다. 이전/뭔가.

24

브라우저는 상대 URL과 달리 브라우저를 다르게 처리합니다. 같은 상대 링크

http://server/path 

:에서의 페이지

http://server/other 

otherpath 교체 :

<a href='other'> 

은에 링크가 해결됩니다. 시작 URL은 반면였다 경우 :

http://server/path/ 

는 해결 된 링크는 다음과 같습니다

http://server/path 
: 디렉토리 파일보다는이다

http://server/path/other 

path 경우, 대부분의 웹 서버는 자동에서 리디렉션됩니다

to :

http://server/path/ 

그것이 거의 확실한 의미이기 때문입니다.

+2

자동 리디렉션 때문에 후행 슬래시로 링크를 작성하면 페이지로드가 눈에 띄지 않지만 속도가 빨라집니다. IIRC, 아파치 의사는 이것을 권장합니다. – rmeador

1

검색 엔진에서이를 2 개의 다른 페이지로 보는 것은 부차적 인 점입니다. 따라서 서재응을 아프게합니다.