URL에서 //는 무엇입니까? [닫은]


39

일반적 //으로을 볼 때 일반적으로 http:또는 같은 프로토콜 접두사를 따릅니다 ftp:. 나는 그것이 다른 곳에 놓인 것을 본 적이 없다. 예를 들어

http://www.google.com/

일반적인 URL입니다.

그러나 동일한 사이트의 다른 버전을 생성하기 위해 다음 두 구문을 찾았습니다.

http://www.weather.com/

http://www.weather.com//

//프로토콜 사양 이외의 다른 곳은 유효하지 않을 것이라고 생각했을 것입니다. 놀랍게도 나는 틀렸다. 같은 사이트의 다른 버전을 사용하는 것은 무엇에 관한 것 //입니까?

편집하다:

두 사이트의 링크가 모두 같은 페이지에 있기 때문에 해당 사이트의 누군가가 다른 사용자를 사로 잡았을 것입니다.


9
내가 추측해야한다면, 당신이하고있는 일은 같은 사이트를 두 번 보는 것입니다. 그러나 여분의 / 끝에있는 사이트는 CSS 또는 요즘 아이들이 웹 사이트를 형식화하는 데 사용하는 모든 것을 깨뜨립니다. :)
Mark Allen

webmasters.stackexchange.com 이이 질문에 더 적합 할 수 있습니다.
Mehper C. Palavuzlar

1
@ MehperC.Palavuzlar 회고하면, 그렇습니다. 그러나 질문 당시에는 범위가 원래보다 다소 넓다고 생각했습니다.
채드 해리슨

@MarkAllen 음 주에의 흥미를 사용하는 것이 ///또는 ////URL의 끝에 것은 같은 사이트의 결과 /어디 // 뭔가 다른의 결과입니다.
채드 해리슨

한편 이중 백 슬래시 (\\)는 일반적으로 Windows의 Uniform Naming Convention에서 볼 수 있습니다.\\HostName[@Port]\SharedFolder\Resource
William C

답변:


67

선행 //은 URL 구문의 일부입니다. 월드 와이드 웹의 발명가는 그 실수에 대해 사과했다 .

실제로 생각하면 이중 슬래시가 필요하지 않습니다. 이중 슬래시가 없도록 설계 할 수있었습니다. -월드 웹의 발명가 인 Tim Berners-Lee 경


후행에 대해서는 //실제로 이중 슬래시가 아닙니다. 첫 번째 슬래시는 경로에서 호스트 이름을 분리합니다. 마지막 슬래시 경로입니다. 원하는 경우 웹 서버 /는 빈 경로와 다른 경로를 처리 할 수 ​​있으며 weather.com의 경로를 처리 할 수 ​​있습니다 . 이것이 우발적이든 의도적이든, 그것에 대해 물어봐야합니다.


웹 루트 이외의 인덱스를 찾도록 웹 서버를 구성 할 있기 때문에 그 이후로 완성됩니다 ! 내 모자는 당신에게 좋은 선생님입니다.
채드 해리슨

당신은 http://example.com다르게 취급 될 수 있다고 말하는가 http://example.com/? 나는 그것이 첫 번째 슬래시의 경우라고 생각하지 않았습니다.
DisgruntledGoat

1
당신은 @DisgruntledGoat , 그래, 몇 가지 사용 .htaccess규칙을. 그러나 당신은 아마해서는 안됩니다.
Matthew

1
둘 다 빈 경로를 가지고 있기 때문에 웹 서버와 http://example.com다르게 취급 할 수 없습니다 http://example.com/. 브라우저에서 다르게 취급 할 수 있습니다.
David Schwartz

3
호스트 헤더를 neverminding, 0 또는 1 슬래시 같은 HTTP 요청으로 변환 : GET / HTTP/1.1: tools.ietf.org/html/rfc2616.html#section-3.2.3
SingleNegationElimination

19

최근에는 이중 슬래시 역할을 한다고 주장 될 수 있습니다 . 다음 과 같이 내장 리소스 (스타일 시트, js 등)에서 프로토콜을 생략하는 등 보안 페이지에서 실수로 안전하지 않은 콘텐츠를 호출하지 않도록 권장 합니다.

<script src="//www.google.com/js/gweb/analytics/autotrack.js"></script>

따라서 이러한 프로토콜이없는 URL은 정규 URL이며 상대 URL이 아닙니다 (단일 슬래시로 시작됨).


1
이 스타일을 "프로토콜 상대"URL / URI라고합니다. SO에 대해서도 비슷한 질문이 있습니다.
hippietrail

1
더 이상 권장하지 않습니다. 참조 paulirish.com/2010/the-protocol-relative-url
lorond

13

실제로 질문에 대답하기 위해 원래 사양 프로토콜을 준 http:(또는 아마도 ftp:, gopher:, mailto:, news:, telnet:, wais:, file:또는 prospero:) 다음은 // URL (Uniform Resource Locator)을 구문이 사용 된 것을 나타 내기 위해서 (때문에), 다음 (선택적 접두사 호스트 user:password@) 다음 주소 다른 시작으로 적절합니다 /. 이것은 RFC 1738 에서 제안되었습니다 .

인터넷이 발전함에 http:따라 주요 프로토콜이되었으므로 브라우저는 접두사 http://가없는 경우 접두사 가 추가되어야 한다고 가정합니다 .


3
귀하의 답변은 URL 이외의 것이 프로토콜에서 한 시점에서 사용될 //수 있었으며, 사용 중임을 나타내는 것 이외의 다른 것을 사용했을 것입니다 ... 그렇습니까?
이즈 카타

3
@Izkata 인터넷이 시작될 때 80 년대와 90 년대 후반에 다양한 항목에 대해 몇 가지 다른 형식이 제안되었습니다. URL은 URN의 하위 집합 (RFC 3305 참조)이며 다양한 형식을 가질 수 있습니다 (예 :) isbn:1-23-456789-12-3. 실제로 http:는 나머지가 URL이되도록 정의합니다. RFC는 단지 제안 일 뿐이며 결코 실현되지 않는 확장을 종종 허용합니다. 어느 시점에서 Tim Berners-Lee는 //'서브넷'(예 :)을위한 것이라고 말했습니다 http:/govnet/whitehouse.gov. 이 아이디어는 결코 사용되지 않았지만 '//'는 현재 많은 코드가 예상하고 확인하는 것처럼 남아 있습니다.
StarNamer

1
@Izkata : 통신 프로토콜에 URL이 아닌 URN이 사용되지 않았을 것입니다. 그것이 //를위한 것입니다. 프로토콜을 사용하여 리소스를 찾을 수있는 (원격의) 네트워크 위치에 액세스하고 있음을 나타냅니다. 다른 데이터 부분이 있고 //를 사용하지 않는 다른 URN 많이 있습니다 (예 : 브라우저에서 "mailto :"를 인식 할 수 있음). 참조 : en.wikipedia.org/wiki/URI_scheme
KutuluMike

@MichaelEdenfield 글쎄, 그것이 내가 지금 궁금해하는 것입니다. 동일한 프로토콜을 통해 통신 할 수있는 다른 무언가가 다르게 사용 되도록 의도 된 시점이 있었습니까 ? 원유 예를 들어, 의사 수 를 한 번에은 을 위해왔다 http://www.google.com/http:%/74.125.225.97/유효 모두에, 그리고 //다른 같은 것이 동안 호스트 이름을 나타내는 %/IP 주소를 나타냅니다?
이즈 카타

1
나는 그렇게 생각하지 않습니다. 적어도 URL에 대한 대체 계층 구조가있는 초안 문서 / 예제 / 등을 본 적이 없습니다. 필자는 항상 TBL이 URL이 실제 리소스 (임의의 데이터가 아닌)를 가리키고 //를 사용하여 파일을 충분히 파일처럼 보이게 하는 것을 분명히하기 위해 무언가를 원한다는 것을 항상 인상했습니다 . 내가 본 다른 모든 URN 스타일에는 데이터 부분에 특별한 접두사 가 없습니다 . 일부 프로토콜은 ( 예를 들어 텔넷과 고퍼 라고 생각합니다) 허용 하지만 http (s)와 같은 것을 본 적이 없습니다.
KutuluMike

1

David의 허용되는 답변에 추가하고 싶습니다.

웹 발명가의 사과에도 불구하고 이중 슬래시 구문은 시각적으로 눈에 띄는 중요한 목적을 달성했다고 생각합니다. 이중 슬래시를 사용하면 하이퍼 링크가없는 텍스트에서 URL을 시각적으로 쉽게 구분할 수있었습니다. 이중 슬래시를 보았을 때 텍스트가 포함 된 생각과 비슷한 방식으로 브라우저 창에 입력 할 수 있다고 생각했습니다.@이메일을 보내는 데 사용될 수 있습니다. 그 시대의 프로토콜 (ftp, telnet, gopher)이 서버 주소 또는 리소스 경로를 나타내는 자체 이상한 개념을 갖는 웹으로의 전환 단계에서 특히 중요했습니다. 이중 슬래시는 URL에서 가장 적은 암호 부분이기 때문에 이중 슬래시와 관련된 대부분의 문제가 여전히 존재합니다. 포트 번호, 인코딩 비율 및 대소 문자 구분을 고려하십시오. 그러나 http : something.com과 같은 URL을 갖는 것은 내 예제 here : something.com과 쉽게 혼동 될 수 있습니다. 반면에 http : //를 보면 다이아몬드처럼 빛난다. 이중 슬래시는 웹 상징주의의 중요한 부분이었으며 의도하지 않았더라도 채택 속도를 가속화했다고 생각합니다.

또한 AmigaOS가 파일 경로 구문을 사용했기 때문에 AmigaOS의 작업이 파일 이름과 URL을보다 쉽게 ​​구별 할 수있게 만들었습니다 volume:path/to/destination. :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.