2015-02-11 7 views
14

Es war eine viel diskutierte Frage auf Stackoverflow, was das bedeutet: dassWarum sollten protokollbezogene URLs überhaupt verwendet werden?

<script src="//cdn.example.com/somewhere/something.js"></script> 

Dies hat den Vorteil gibt, wenn Sie es über HTTPS zugreifst, Sie HTTPS automatisch erhalten, statt dass scary „Unsichere Elemente auf diese Seite "Warnung.

Warum aber überhaupt protokollbezogene URLs verwenden? Warum nicht einfach HTTPS immer in CDN-URLs verwenden? Schließlich hat eine HTTP-Seite keinen Grund, sich zu beschweren, wenn Sie sich entschließen, einige Teile über HTTPS zu laden.

(Dies ist insbesondere für CDNs, fast alle CDNs HTTPS Fähigkeit haben, während, einen eigenen Server nicht unbedingt HTTPS haben..)

Antwort

22

Ab Dezember 2014 Paul Irish's blog on protocol-relative URLs sagt:

2014.12.17: Nun, da SSL für alle gefördert und Leistungsprobleme nicht haben, diese Technik jetzt ein Anti-Muster ist. Wenn das von Ihnen benötigte Asset auf SSL verfügbar ist, verwenden Sie immer Verwenden Sie das Asset https://.

Sofern Sie bestimmte Leistungsprobleme (wie die langsame Mobilfunknetz in Zakjan Antwort erwähnt) haben, sollten Sie https:// benutzen, um Ihre Nutzer zu schützen.

+1

Dies gilt nur für Ressourcen von Drittanbietern? – user3448600

+2

@ user3448600 für lokale Ressourcen verwenden Sie einfach '/' Pfade, nicht '//' Pfade. – Kos

+1

Im Jahr 2017 wechselte SO auch von Protokoll-relativ zu HTTPS: https://nickcraver.com/blog/2017/05/22/https-on-stack-overflow/#mistakes-protocol-relative-urls – ruhong

6

Aufgrund der Leistung. Das Einrichten einer HTTPS-Verbindung dauert viel länger als das von HTTP, TLS-Handshake fügt eine Latenzverzögerung von bis zu 2 RTT s hinzu. Sie können es in Mobilfunknetzen bemerken. Daher ist es besser, HTTPS-Asset-URLs nicht zu verwenden, wenn Sie sie nicht benötigen.

+0

Ich sage, es ist besser, https Cuz von http2 Leistung zu verwenden, und es ist sicherer! – Endless

+3

Dies ist eine 2 Jahre alte Antwort, als HTTP2 noch nicht verfügbar war. – zakjan

+0

Diese Antwort ist nicht mehr wahr. Aktivieren Sie HTTP2 auf Ihren Websites und HTTPS ist schneller als HTTP. – Qwertie