브라우저에서 홈페이지 URL을 클릭 할 때 후행 슬래시가 자동으로 추가됩니까?


17

홈 페이지 링크 위로 마우스를 가져갈 때마다 (예 : http://www.example.com)브라우저의 상태 표시 줄에서 볼 수 있듯이) 홈 링크에 href 속성이 포함되어 있는지 여부에 항상 슬래시가 추가됨을 알기 때문에 이것을 묻습니다. 슬래시 여부에 관계없이 홈페이지에있을 때마다 표시되는 URL에 슬래시가 없습니다.

URL 표시 줄의 URL에 슬래시를 입력하려고했습니다. Firebug를 사용하면 사이트가 항상 200 OK 상태를 반환합니다. 여기 에이 기사 설명 하는 기사 에는 끝에 슬래시가 있으면 301 리디렉션이 방지됩니다. 그러나이 페이지 에서도 리디렉션 표시 되지 않습니다 .

슬래시를 추가하는 브라우저 기능 일 수 있습니까?


예. 예를 들어, Opera는 슬래시를 숨기고 있다고 생각합니다 (그리고 때로는 프로토콜을 숨겨서 개발에 열광하게됩니다!) ...
Matt

여기서 질문은 정확히 무엇입니까? (또는 질문의 요점) 그리고 당신이 말하는 "사이트"는 무엇입니까? 예를 들어 웹 마스터에게 바로 확인하면 Firefox 및 Chrome (전체 테스트를 수행 하지 않음) 에서 슬래시가 추가되는 한 설명 하지 않습니다 . 실제로 그 문제에 대해 슬래시를 추가하고 추가하면 슬래시가 제거 되는 것처럼 보입니다 .
Su '

@Su ', 나는 모든 사이트를 언급하고 있으며 상태 표시 줄은 브라우저의 하단에 표시되는 것을 나타내고 URL 표시 줄은 상단의 주소 표시 줄을 나타냅니다. 혼란스러워서 죄송합니다.
질문 오버플로

2
@Matt Opera는 또한 ?매우 바보 같은 IMO 인 쿼리 문자열 ( URL에서 조금 뒤에) 을 숨 깁니다 .
DisgruntledGoat

답변:


28

예 . 기본 도메인 URL (예 : 홈페이지)을 요청할 때 모든 주류 브라우저는 HTTP 요청에 "슬래시"를 추가합니다 . 이것은 실제로 HTTP 요청을 유효하게하기 위해 필요합니다 http://example.com/.

GET / HTTP/1.1
Host: example.com

/첫 번째 줄에서 (슬래시)를 주목하십시오 -이것은 요청되는 URL입니다. 여기에 아무것도 없는 것은 유효하지 않습니다 . 에서 RFC 2616 :

절대 경로는 비워 둘 수 없습니다. 원래 URI에 존재하지 않는 경우 반드시 "/"(서버 루트)로 지정해야합니다.

브라우저가 서버에 보내는 HTTP 요청을 봐야합니다. "브라우저의 상태 표시 줄"에 표시되는 URL 또는 주소 표시 줄의 URL이 다를 수 있습니다. 사용자 친화적입니다. 요청에 슬래시가 있지만 Chrome은 상태 표시 줄에 슬래시를 추가 하지 않습니다 .

http://example.com브라우저 HTTP 요청을하기 전에 정정 하기 때문에 (슬래시 없음) 을 지정하면 301 경로 재 지정이 발생 하지 않습니다 .

경로 / 디렉토리가있는 경우 URL 끝에 슬래시를 추가하는 것과 다릅니다. 예. http://example.com/directory/. 귀하가 연결하는 기사는 모두 동일하게 취급되는 것으로 보이며 완전히 올바른 IMO 인 것으로 보이지 않습니다. 요청한 경우 http://example.com/directory(슬래시 없음) 브라우저는 슬래시를 추가하지 않으며 예, 대부분의 서버는 301로 리디렉션 http://example.com/directory/(슬래시)하지만 서버에 따라 다릅니다. 그것은 단순히 부서 질 수있었습니다! 예를 들어 Apache의 경우 이는 DirectorySlash로 설정 되는 지시문에 따라 다릅니다 on.


답변에 추가하려면 홈 페이지에 연결할 때마다 뒤에 슬래시를 추가하여 서버 자원을 절약하십시오.
Anagio

5
@Anagio 나는 당신이 답을 이해하지 못한다고 생각합니다. 리디렉션이 없기 때문에 서버 리소스를 전혀 저장하지 않습니다. 슬래시가 있거나없는 도메인은 100 % 동일합니다. 다시 말해, 각각에 대해 서로 다른 내용을 반환 할 수있는 방법없습니다 (디렉토리 URL로 수행 할 수 있음).
DisgruntledGoat

1
@DisgruntledGoat 슬래시를 제거하고 서버를 리디렉션하면 링크에 슬래시를 추가하면 서버를 페이지에 다시로드하지 않아도됩니다. 그것이 내가
겪고있는

5
@Anagio이 기사는 디렉토리의 슬래시 관한 것이지만이 질문은 도메인의 슬래시 에 관한 것이다 . 위의 답변에서 알 수 있듯이 차이가 전혀 없습니다. 링크가 모두 example.com또는 example.com/서버에 대한 동일한 요청이 필요 하기 때문 입니다.
DisgruntledGoat

3
… 브라우저가이를 "수정"하기 때문입니다.
unor
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.