suchen
HeimWeb-FrontendHTML-TutorialVorteile der Verwendung von // anstelle von

Vorteile der Verwendung von // anstelle von

Feb 07, 2018 am 09:09 AM
httpersetzen好处

//Standardprotokoll

/Die Verwendung des Standardprotokolls bedeutet, dass das Protokoll für den Ressourcenzugriff mit der aktuellen Seite übereinstimmt. Wenn die aktuelle Seite http ist, verwenden Sie http Protokoll, um darauf zuzugreifen. Wenn es https ist, verwenden Sie das https-Protokoll, um darauf zuzugreifen. Auf diese Weise muss der Code nicht geändert werden, unabhängig davon, ob es sich um http oder ein Upgrade auf https handelt. Jetzt werden viele CDN-Ressourcen auf diese Weise zitiert. Es wird im Allgemeinen in internen Links verwendet, da der Protokollheader externer Links unsicher ist.

Aufgrund der massiven Manipulation durch inländische Betreiber usw. schalten Menschen beim Besuch von Websites eine große Anzahl vulgärer Werbung ein, was das Benutzererlebnis beeinträchtigt. Daher hoffen die großen Suchmaschinen, dass jeder sein Bestes geben wird, um die Website zu konvertieren zur https-Methode

//Was bedeutet das?

// ist die Möglichkeit, das Standardprotokoll zu schreiben, zum Beispiel

//jb51.net/css/

Das Standardprotokoll verwendet standardmäßig das aktuelle Protokoll

Die aktuelle Seite ist HTTP und entspricht

http://jb51.net/css/

Wenn die aktuelle Seite HTTPS ist, entspricht sie

https://jb51.net/css/

Verwenden Sie stattdessen //. Was sind die Bedingungen und Vorteile von http://?

Die aktuelle Seite und die Zielressource unterstützen sowohl HTTP als auch HTTPS und werden von http auf https aktualisiert

Der Vorteil besteht darin, dass das Anforderungsprotokoll der Ressource entsprechend adaptiv ausgewählt werden kann auf die Art und Weise, wie der Benutzer die Seite öffnet,

Für den Inhalt von https-Seiten organisiert der Browser standardmäßig Nicht-https-Inhalte, wodurch diese Situation vermieden werden kann

// Nachteile

Direkt öffnen Beim Debuggen lokaler Dateien wird als Protokoll das Dateiprotokoll (file://) verwendet

Zu diesem Zeitpunkt wird das Protokoll zu file://jb51. net/css/, das offensichtlich nicht existiert

Seien Sie konsistent mit dem aktuellen Website-Protokoll, veröffentlichen Sie schnell eine Version, die Ihrem aktuellen Protokoll entspricht, und reduzieren Sie die Bereitstellungskosten von SSL oder anderen Protokollversionen. Entwickler müssen sich keine Gedanken darüber machen, welche Protokolle von der Server-Cloud bereitgestellt werden. Sie müssen lediglich das //-Symbol verwenden, um die am besten geeignete Übereinstimmung darzustellen.

Die Vorteile sind wie folgt:

Da viele Websites http auf https aktualisiert haben, kann verhindert werden, dass unsere URL gekapert wird, um einen Fehler zu machen Der Konvertierungsprozess befindet sich im Anfangsstadium. Wir haben keinen erzwungenen Sprung. Das heißt, wenn Benutzer auf http oder https zugreifen, können sie normal darauf zugreifen, aber die darin enthaltenen JS, Bilder, Links usw. können weder https noch http verwenden ist die Lösung? Die Lösung besteht darin, // zu verwenden, nicht http: und https mitzubringen, und das war's.

//Diese Schreibweise fügt automatisch ein Protokoll hinzu, das auf dem von Ihnen angeforderten Protokoll basiert. Beispiel: Ihre Website verwendet das http-Protokoll. Sie greifen also tatsächlich auf http://xxxx zu. Wenn Ihre Website das https-Protokoll verwendet, wird die angeforderte Adresse zu https://xxxx. Sie wissen, wenn Sie http schreiben: //xxx. Wenn Ihre Website dann online ist, wird möglicherweise eine Sicherheitswarnung gemeldet und einige Browser können die Seite möglicherweise nicht einmal normal laden. Wenn Sie https direkt schreiben, müssen Sie wissen, dass die lokale Entwicklung http ist...

Der folgende Inhalt enthält einige klassische Antworten von Zhihu

Die Vorteile werden von vielen Menschen beantwortet . Dieser Vorteil macht sich sicherlich am deutlichsten beim Upgrade auf https bemerkbar. Ich füge nur einen Grund hinzu, warum Vorgänger nicht so geschrieben haben. Natürlich gibt es tatsächlich viele Frontends, die diese Schreibweise nicht kennen. Aber selbst wenn Sie es wüssten, könnten Sie es wahrscheinlich nicht so schreiben. Da viele frühere Versionen von UC Browser diese Schreibmethode nicht unterstützen, wird //a.b/ direkt als /a.b/ verstanden. Das heißt, wenn Sie //example auf der Seite von http://example.com schreiben -. Die Adresse von cdn.net/static-file, UC greift tatsächlich auf http://example.com/example-cdn.net/static-file zu. Jeder kennt den bisherigen Marktanteil von UC. Also...

Auf den ersten Blick sieht es so aus, als hätten Sie kein „standortweites HTTPS-Upgrade“ durchgeführt. Als ich die gesamte Website auf HTTPS aktualisiert habe, wollte ich unbedingt die Person töten, die http:// geschrieben hat. Insbesondere die Links in der Datenbank und die in JS zusammengefügten URLs. In diesem Zeitraum wurden verschiedene reguläre Regeln angewendet und eine manuelle Überprüfung war erforderlich. Es gab jedoch zu viele Programmierer, die http:// schrieben, sodass ihnen keine andere Wahl blieb, als aufzugeben. Einige Leute haben in den Kommentaren auch nach dem Grund gefragt. Der Grund ist, dass ich die Daten und den Quellcode in der Datenbank nicht ändern muss, wenn ich sie vollständig schreibe. Man kann sagen, dass eine https-Transformation selten vorkommt. Ich bin sowohl bei Tencent als auch bei Alibaba auf eine https-Transformation gestoßen. Als ich bei Alibaba war, war ich für die Front-End-Code-Transformation der gesamten 1688-Website verantwortlich. (Nicht nur HTML, sondern auch CSS, JS, Velocity-Vorlagen usw. Es ist nur Drecksarbeit, warum zum Teufel habe ich diesen Job angenommen?) Ratet mal, wie oft ich die Person gescholten habe, die http:// geschrieben hat? Einige Frontends schreiben http auch direkt in JS. Werden Sie sterben, wenn Sie weiterhin das Protokoll der aktuellen Seite verwenden?

Einige Frontends akzeptieren tatsächlich nur http:// und https://, aber nicht //, wenn reguläre Ausdrücke zur Beurteilung von URLs verwendet werden. Dies ist wirklich ein Mangel an gesundem Menschenverstand. Zu viele Programmierer, zu zurückgeblieben. Oder vielleicht liegt es einfach daran, dass sie noch nie von HTTPS gehört haben. Wenn Sie es immer noch nicht verstehen, möchte ich Ihnen ein paar Fragen stellen: Wenn Sie http:// verwenden, verwenden Sie standardmäßig das http-Protokoll, um zur aktuellen Seite zu gelangen. Warum entscheiden Sie als Frontend über das Protokoll? aktuelle Seite? Wussten Sie nicht, dass HTTP-Links Fehler auf https-Seiten melden? Sie sollten weiterhin das Protokoll der aktuellen Seite verwenden, also müssen Sie schreiben //Wenn Sie https:// verwenden, ist es das gleiche Problem. Woher wissen Sie, ob es in drei Jahren ein https:// geben wird? Werden Sie bis dahin alles in https:// ändern? Machen Sie keine Annahmen, die offensichtlich falsch sind! Sie haben keine Ahnung, mit welchem ​​Protokoll die aktuelle Seite geöffnet wird! Sie müssen also // Ah! verwenden. Es gibt viele ähnliche falsche Annahmen. Beispielsweise glauben viele chinesische Programmierer, dass Telefonnummern nur Zahlen und Klammern enthalten, keine Buchstaben. Ist das wirklich so?

Jemand hat gesagt, dass globaler Ersatz nicht ausreicht? Angenommen, Taobao möchte https aktualisieren und Sie ersetzen alle http:// durch //Der erste Fehler: Sie ersetzen /tmail.com">, aber zu diesem Zeitpunkt unterstützte http://tmail.com https nicht, sodass Sie den Domänennamen innerhalb eines bestimmten Bereichs ersetzt haben: http://(taobao|taobao2|taobao3).com // $1.com zweiter Fehler: Einige JS sind so geschrieben: url = "http://" + location.hostname + '/' + path, und einige JS sind so geschrieben /^http:/// .test(input) . Sie sagten, dass es keine Möglichkeit gibt, reguläre Ausdrücke global in allen JS zu verwenden und sie dann manuell zu überprüfen. Wissen Sie, wie viele JS-Dateien es auf Taobao gibt ... Und diese Dateien wurden zehn Jahre lang zwischengespeichert ... Selbst wenn Sie sie ändern, werden sie möglicherweise nicht aktualisiert. Und wenn Sie einen Fehler machen und die Bestellungen der Benutzer beeinträchtigen, können Sie es sich dann leisten, den Verlust von Jack Ma in Höhe von 100 Millionen zu bezahlen? Der dritte Fehler: Einige Daten befinden sich überhaupt nicht im Code, sondern in der Datenbank. Beispielsweise beginnt der Wert von user.image mit http. Sie schreiben also user.image als user.image.replace('http://', ​​​​'//') oder ändern die Daten direkt in der Datenbank (bei großen Datenmengen ist dies grundsätzlich unmöglich). . Vier Fehler: Sie haben vergessen, den Domainnamen in Nginx und Crossdomain zu ändern. Der sechste Fehler: Ihre https-Seite bettet einen externen http-Iframe ein. Wenn Sie Glück haben, ändern Sie es einfach in // (externe Unterstützung für https reicht aus). Wenn Sie kein Glück haben, müssen Sie die Seitenlogik ändern. Der N-te Fehler... HTTPS-Upgrade ist eine schmutzige Aufgabe. Wenn Sie sagen, dass es einfach ist, werden Sie es tun. Sobald Sie damit beginnen, werden Sie wissen, wie viele Dinge damit verbunden sind. Die beste Lösung besteht darin, das Protokoll einfach zu ändern, z. B. der aktuellen Seite zu folgen oder Variablen zu verwenden. Es ist definitiv nicht gut, http:// fest zu codieren. Wenn einige Programmierer Code schreiben, wissen sie offensichtlich, dass HTTPS verfügbar ist, machen ihn aber nicht kompatibel. Sie denken: „Ich werde dieses Unternehmen nach zwei Jahren verlassen, und HTTPS wird noch mindestens drei Jahre lang schreiben.“

Immer mehr Entwickler verwenden beim Verknüpfen von Dateien // anstelle von http://, z. B.

Ursprünglich war Ihre Website http, und alle Quellen begannen mit http. Ich dachte, sie sei von beschissenen Betreibern gekapert und mit einer Menge Inhalten vollgestopft worden, die für Kinder ungeeignet sind/und manchmal reine Werbung Sie wissen, dass das Ersetzen von https dieses Problem verbessern kann. Dann wissen Sie, was für eine kluge Entscheidung es war, dass die vorherigen src und ajax als // statt http:// geschrieben wurden. . .

Offizieller Zhulang CMS

Mit dem Aufkommen von immer mehr Open-Source- und Cloud-Plattformen und der weit verbreiteten Einführung von SSL-Protokollen (wie z. B. Zhulang CMS hat das SSL-Protokoll vollständig aktiviert Unterstützung), müssen sich die Leute bei der Entwicklung mit der Wahl und Identifizierung des http-Protokolls auseinandersetzen. Wie wir alle wissen, können zu viele SSL-Referenzen zur Ineffizienz gewöhnlicher Websites führen. Aus diesem Grund können wir jedoch keine reine SSL-Version neu entwerfen. Wie in Open-Source-Bibliotheken gezeigt, bieten die meisten Plattformen sowohl SSL- als auch Nicht-SSL-Versionen an. Wie zum Beispiel diese beiden Bibliotheken: https://code.z01.com/js/jquery-3.2.1.slim.min.jshttp://code.z01.com/js/jquery-3.2.1.slim.min. Der Referenzeffekt von js ist konsistent. Daher verwenden Entwickler direkt die Methode „//URL/File“, um das vorherige Protokoll zu ersetzen, damit es automatisch erkannt werden kann. Das heißt, unabhängig davon, ob es sich um das SSL-Protokoll oder das normale HTTP-Protokoll handelt, bleibt es dem Browser überlassen, die aktuelle Site automatisch zu identifizieren und abzugleichen, wodurch die beste sichere Anfrage und die effizienteste Lademethode erreicht werden. Kurz gesagt, dies ist eine Entwicklungsmethode und ein Entwicklungsdenken, und die Cloud-Computing-Web- und Mobilentwicklung nimmt von Tag zu Tag zu.

Verwandte Empfehlungen:

thinkPHP development (http://w2ks.com)

Das obige ist der detaillierte Inhalt vonVorteile der Verwendung von // anstelle von. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
HTML, CSS und JavaScript verstehen: Ein AnfängerhandbuchHTML, CSS und JavaScript verstehen: Ein AnfängerhandbuchApr 12, 2025 am 12:02 AM

WebdevelopmentRelieSonHtml, CSS und JavaScript: 1) HtmlStructuresContent, 2) CSSstylesit und 3) JavaScriptaddssinteraktivität, Bildung von TheBasisofModerernwebexperiences.

Die Rolle von HTML: Strukturierung von WebinhaltenDie Rolle von HTML: Strukturierung von WebinhaltenApr 11, 2025 am 12:12 AM

Die Rolle von HTML besteht darin, die Struktur und den Inhalt einer Webseite durch Tags und Attribute zu definieren. 1. HTML organisiert Inhalte über Tags wie das Lesen und Verständnis. 2. Verwenden Sie semantische Tags wie usw., um die Zugänglichkeit und SEO zu verbessern. 3. Optimierung des HTML -Codes kann die Ladegeschwindigkeit und die Benutzererfahrung der Webseite verbessern.

HTML und Code: Ein genauerer Blick auf die TerminologieHTML und Code: Ein genauerer Blick auf die TerminologieApr 10, 2025 am 09:28 AM

HtmlisaspecifictypeofcodeFocusedonstructuringuringwebcontent, während "Code" breitincludesluages ​​-ähnlichjavaScriptandpythonforfunctionality.1) htmldefineswebpageStructureStags.2) "Code" cometesaWiNrangeOfLanguagesForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForfirsInsForfunctionNacts

HTML, CSS und JavaScript: Wesentliche Tools für WebentwicklerHTML, CSS und JavaScript: Wesentliche Tools für WebentwicklerApr 09, 2025 am 12:12 AM

HTML, CSS und JavaScript sind die drei Säulen der Webentwicklung. 1. HTML definiert die Webseitenstruktur und verwendet Tags wie z.

Die Rollen von HTML, CSS und JavaScript: KernverantwortungDie Rollen von HTML, CSS und JavaScript: KernverantwortungApr 08, 2025 pm 07:05 PM

HTML definiert die Webstruktur, CSS ist für Stil und Layout verantwortlich, und JavaScript ergibt eine dynamische Interaktion. Die drei erfüllen ihre Aufgaben in der Webentwicklung und erstellen gemeinsam eine farbenfrohe Website.

Ist HTML für Anfänger leicht zu lernen?Ist HTML für Anfänger leicht zu lernen?Apr 07, 2025 am 12:11 AM

HTML ist für Anfänger geeignet, da es einfach und leicht zu lernen ist und schnell Ergebnisse sehen kann. 1) Die Lernkurve von HTML ist glatt und leicht zu beginnen. 2) Beherrschen Sie einfach die grundlegenden Tags, um Webseiten zu erstellen. 3) hohe Flexibilität und kann in Kombination mit CSS und JavaScript verwendet werden. 4) Reiche Lernressourcen und moderne Tools unterstützen den Lernprozess.

Was ist ein Beispiel für ein Start -Tag in HTML?Was ist ein Beispiel für ein Start -Tag in HTML?Apr 06, 2025 am 12:04 AM

AnexampleofaTartingTaginHtmlis, die, die starttagsaresesinginhtmlastheyinitiateElements, definetheirtypes, andarecrucialForstructuringwebpages und -konstruktionsthedoms.

Wie kann ich das Flexbox -Layout von CSS verwenden, um eine zentrale Ausrichtung des Segmentierungseffekts für gepunktete Linien im Menü zu erzielen?Wie kann ich das Flexbox -Layout von CSS verwenden, um eine zentrale Ausrichtung des Segmentierungseffekts für gepunktete Linien im Menü zu erzielen?Apr 05, 2025 pm 01:24 PM

Wie gestalte ich den Segmentierungseffekt der gepunkteten Linien im Menü? Bei der Gestaltung von Menüs ist es normalerweise nicht schwierig, links und rechts zwischen dem Gerichtsnamen und dem Preis von Schalen auszurichten, aber wie wäre es mit der gepunkteten Linie oder dem Punkt in der Mitte ...

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion