현재 페이지 중 하나를 보존하기 위해 프로토콜 (스키마)을 생략 한 절대 URL


85

//somepage.com/resourceURL 형식을 보았습니다 . 예를 들면 :

<img src="//remotesite.com/image1.jpg" />

요점은 현재 페이지 ( img태그를 정의하는 페이지)가를 사용 http하는 경우 http를 통해 원격 사이트에 대한 요청이 이루어집니다. https 인 경우 https입니다. 이렇게하면 완전히 암호화되지 않은 페이지에 대한 브라우저 경고가 제거됩니다.

제 질문은이 URL 형식이 모든 브라우저에서 사용하기에 안전한가요?입니다. 그리고 그것은 표준입니까?


4
관련 : 모든 http : // 링크를 //로 변경할 수 있습니까? 첫 번째 질문에 대답 하고 Scheme 상대 URL 은 두 번째 질문에 대답합니다.
Gumbo



질문에서 용어를 사용하지 않았지만 프로토콜 기준 태그를 추가했습니다 (이 질문을 더 쉽게 찾을 수 있음).
unor

답변:


61

이 URL 형식은 모든 브라우저에서 사용하기에 안전합니다.

확실히 말할 수는 없지만 다른 브라우저에서 테스트 할 수 있어야합니다.

그리고 그것은 표준입니까?

기술적으로는 RFC 3986 에 따라 "네트워크 경로 참조"라고 합니다. 이에 대한 계획은 다음과 같습니다.

  relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

  relative-part = "//" authority path-abempty
                / path-absolute
                / path-noscheme
                / path-empty

그러나 <link>또는 @import, IE7 및 IE8에서 사용할 때 파일을 다운로드하는 데 문제 가 있습니다.

다음은 Paul Irish가 주제에 대해 작성한 게시물입니다.


1
Paul Irish는 가능할 때 리소스가 항상 https를 통해 제공되어야 함을 나타 내기 위해 게시물을 업데이트했습니다. 위의 @Sarfraz에 의해 링크 된 게시물을 참조하십시오.
Evan Donovan

1
구글 웹 로그 분석은 단지 다른 버전을 https를 제공 할 것, 내가이 도구는 많은 많은 웹 사이트에서 사용하면서 크로스 브라우저를 내기 때문에 코드는이 방식을 사용 니펫을
루카스 Liesis

22

네, 그렇다고 믿습니다. Paul Irish는 Protocol Relative URL 이라는 용어를 만들었습니다 .

또한 브라우저 간 호환성을 전파 하는 HTML5Boilerplate 프로젝트 의 일부라고 지적합니다 .

참고 : Paul의 기사에서 언급 한 Google Analytics를 사용하는 IE6에는 예외적 인 경우가 있습니다. 그래서 완벽하지 않습니다.


이것은 더 이상 사실이 아닙니다. stackoverflow.com/a/37609402/2237601을 참조 하거나 여기 에서 https://. 프로토콜 체계를 생략하는 것이 좋은 생각이 아닌 이유 도 여기에서 확인 하십시오 .
bg17aw

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