http vs https an depth comparison features
Ontdek het exacte verschil tussen HTTP en HTTPS met voorbeelden:
Wanneer we zeggen, ‘HTTP versus HTTPS’, is de belangrijkste vereiste dat we de basisbetekenis van elk van deze twee termen begrijpen.
Zodra we weten wat HTTP en HTTPS betekent, kunnen we verder gaan om ze te vergelijken.
Wat je leert:
- Wat is HTTP?
- Wat is HTTPS?
- Hoe HTTPS werkt?
- De exacte verschillen - HTTP versus HTTPS
- HTTP- versus HTTPS-prestaties
- Gevolgtrekking
- Aanbevolen literatuur
Wat is HTTP?
HTTP is een afkorting voor H. yper t ext T overdracht P. protocol. Binnen de internetprotocolsuite is HTTP een toepassingslaagprotocol om de client-servercommunicatie tussen gedistribueerde, gedeelde en hypermedia-informatiesystemen tot stand te brengen en te verbeteren.
De communicatie wordt bereikt door het verzenden van HTTP-verzoeken en het ontvangen van de HTTP-antwoorden via www (world wide web).
HTTP is ontwikkeld om hypertext en www mogelijk te maken. Het werkt als een verzoek-antwoordprotocol in een client-server-computermodel.
Een client (bijvoorbeeld een webbrowser) stuurt een HTTP-verzoek naar de webserver (bijvoorbeeld een cloudcomputer). De server ontvangt het verzoek en voert een applicatie uit om het verzoek te verwerken. Het retourneert vervolgens de uitvoer van de applicatie, d.w.z. HTTP-reactie naar de client. De klant ontvangt het antwoord.
(Beeld Bron
Het ‘Protocol’ -gedeelte in de naam HTTP geeft aan dat het een set regels is. HTTP is een van de protocollen in de internetprotocolsuite.
Het gedeelte ‘Transfer’ in de naam HTTP geeft de overdracht van bestanden via www. Deze bestanden kunnen tekst, grafische afbeeldingen, afbeeldingen, audio, video of andere multimedia zijn.
Het ‘HyperText’ -gedeelte in de naam HTTP geeft aan dat de documenten of bestanden links naar andere teksten kunnen bevatten die de lezer onmiddellijk kan openen door middel van een muisklik of toetsaanslag of door het scherm aan te raken.
Hypertext maakt dus uitgebreide kruisverwijzingen mogelijk waarbij de bestanden koppelingen kunnen bevatten naar andere bestanden waarvan de selectie een extra overdrachtsverzoek zal activeren.
Nu, in eenvoudige bewoordingen, kunt u begrijpen dat de HTTP een reeks regels is voor de overdracht van hypertextbestanden via www.
Wat is HTTPS?
HTTPS, ontwikkeld door Netscape, is een acroniem voor H. ypertext T overdracht P. protocol S ecure. De beperking met HTTP is dat de informatiestroom tussen client en server niet gecodeerd is en dat iedereen de informatie dus kan stelen.
De hypertekst die via HTTP wordt uitgewisseld, gaat als platte tekst en iedereen kan deze gemakkelijk lezen of zijn eigen code injecteren als hij de communicatie onderschept voor zijn eigen voordelen. Daarom is HTTPS ontwikkeld om deze beveiliging van beperking van HTTP te omzeilen.
De ‘S’ eindelijk van HTTPS staat bekend om ‘Veilig’. HTTPS is een uitbreiding van HTTP om veilige communicatie via een computernetwerk mogelijk te maken en wordt algemeen gebruikt op internet. HTTPS = HTTP + cryptografische protocollen. HTTPS valt ook in de applicatielaag van de Internet Protocol-suite.
Soms wordt HTTPS ook wel HTTP over TLS of HTTP over SSL genoemd. Dit komt doordat het Transport Layer Security (TLS) of Secure Socket Layer (SSL) als sublaag gebruikt om het communicatieprotocol te versleutelen. Het maakt gebruik van een SSL-certificaat om een veilige verbinding tussen de browser en de server tot stand te brengen.
HTTPS biedt bidirectionele codering tussen client en server, d.w.z. het codeert en decodeert de browserverzoeken en serverreacties, wat op zijn beurt bescherming biedt tegen man-in-the-middle-aanvallen, afluisteren en knoeien met het bericht.
HTTPS biedt dus in feite authenticatie van de bezochte website en beschermt de privacy en integriteit van gegevens die worden verzonden tijdens client-server-communicatie. Het zorgt voor een veilige communicatie.
(Beeld Bron
U moet een hangslotpictogram zoals hieronder hebben waargenomen wanneer u de webbrowser opent zoals Chrome, IE of een andere.
Dit slotpictogram geeft aan dat de HTTPS-verbinding actief is.
HTTPS werd aanvankelijk gebruikt in het financiële domein, bijvoorbeeld bij online betalingstransacties zoals online bankieren en online winkelen.
Maar de laatste tijd wordt het op bijna alle soorten websites veel gebruikt, zodat de authenticiteit van de webgegevens wordt beschermd en de account- en browsegegevens van de gebruiker kunnen worden beveiligd en privé kunnen worden gehouden.
Hoe HTTPS werkt?
Zoals hierboven vermeld, gebruikt HTTPS SSL of TLS om codering in te schakelen. Zowel SSL- als TLS-protocollen zijn gebaseerd op een asymmetrisch sleutelalgoritme waarbij we twee sleutels hebben: een openbare sleutel en een privésleutel. Beide toetsen zijn gekoppeld en werken samen.
De openbare sleutels worden via certificaten naar de client of webbrowsers gedistribueerd en de privésleutel wordt bij de webserver van die specifieke website bewaard.
HTTPS versleutelt alle gegevensuitwisseling tussen de browser van de gebruiker en de server, zodat niemand iets kan lezen tijdens de overdracht tussen de server en de browser.
Gegevens worden aan het einde van de afzender versleuteld door een unieke versleutelingssleutel (willekeurige getallen) en een versleutelingsalgoritme. Deze versleutelde gegevens worden ook wel cijfer Aan de andere kant, d.w.z. aan de kant van de ontvanger, wordt deze cijfertekst ontsleuteld door het omgekeerde van het versleutelingsproces te gebruiken en worden de originele gegevens hersteld.
Als beide uiteinden (browser en server) dezelfde coderingssleutel gebruiken, staat dit bekend als symmetrische codering; het beste voorbeeld hiervan is wifi die bij ons thuis wordt gebruikt, waar zowel de router als de laptop hetzelfde wachtwoord delen.
Terwijl bij asymmetrische codering zowel de coderings- als decoderingssleutels verschillen, die worden gebruikt in het eerste handshaking-proces tussen webbrowser en server.
Websites die HTTPS gebruiken, hebben een uniek digitaal certificaat dat is gekocht bij sommige certificeringsinstanties zoals GeoTrust, GoDaddy enz.
Het hele proces van HTTPS-werking kan worden onderverdeeld in twee hoofdstappen:
1) Wanneer een URL wordt ingevoerd zoals www.Yahoo.com, dan geeft de Yahoo-server twee dingen aan de webbrowser, namelijk 'Certificaat' ondertekend door een certificeringsinstantie (laten we aannemen dat het een certificaat is dat is ondertekend door VeriSign) en een ander heel belangrijk ding is het ‘ publieke sleutel' (laat het een willekeurig getal zijn).
Nu bevat de webbrowser een lijst met openbare sleutels die worden geleverd door grote geregistreerde certificeringsinstanties. Het zal het certificaat ontsleutelen via de bijbehorende overeenkomende openbare sleutel.
Als de openbare sleutel het digitaal ondertekende Certificaat kan ontsleutelen, kan alleen verder worden gegaan om een veilige verbinding voor gegevensuitwisseling tot stand te brengen door een groen slotje voor de URL weer te geven.
Anders, als de openbare sleutel niet overeenkomt, wordt de verbinding verbroken en wordt het niet-vertrouwde websitesymbool van het rode kruis aan het begin van de URL weergegeven. Dit hele proces staat bekend als het handshake-proces.
(Beeld Bron
Deze https-symbolen met groen slot en rood kruis moet u vaak hebben gezien tijdens het werken op internet.
Houd er rekening mee dat de privésleutel en openbare sleutels samen worden gebruikt om de gegevens te versleutelen en te ontsleutelen. Als een sleutel (openbaar of privé) wordt gebruikt voor codering, wordt de andere sleutel gebruikt voor decodering. Dus tot aan deze stap wordt asynchrone communicatie gebruikt.
Laten we naar de volgende stap in dit proces gaan.
twee) Zoals hierboven vermeld, wanneer u naar www.Yahoo.com gaat, zal de server van Yahoo de gegevens in gecodeerde vorm verzenden via de openbare sleutel die alleen kan worden gedecodeerd door de respectieve privésleutel van de server van Yahoo. Deze privésleutel wordt niet gedeeld met het publiek. Het is dus bijna onmogelijk om de gegevens te decoderen zonder de privésleutel.
Afgezien van de openbare sleutel en de privésleutel, maakt onze webbrowser een derde sleutel aan die een sessiesleutel wordt genoemd. Nu wordt deze sessiesleutel gecodeerd door de openbare sleutel die is ontvangen van de server en deze gecodeerde sessiesleutel wordt gedeeld met de server van Yahoo. Deze server krijgt de sessiesleutel door deze te decoderen met de privésleutel.
Nu hebben de gebruiker en de server beide dezelfde sessiesleutel. Als de machine van de gebruiker en de server nu in dezelfde sessie blijven, zullen ze symmetrische codering blijven gebruiken totdat de sessie niet eindigt door de website te sluiten.
De exacte verschillen - HTTP versus HTTPS
HTTP | HTTPS |
---|---|
Het richt zich op de noodzaak om informatie via internet uit te wisselen. | Het komt tegemoet aan de noodzaak om vertrouwelijke informatie uit te wisselen via onveilig internet. |
De HTTP-URL begint met HTTP: // en gebruikt poort 80 als standaardpoort. | De HTTPS-URL begint met https: // en gebruikt poort 443 als de standaardpoort. |
HTTP is niet beveiligd en is vatbaar voor man-in-the-middle-aanvallen en afluisteren, wat kan leiden tot virusinjecties en het lekken van gevoelige informatie naar aanvallers. | HTTPS is gecodeerd en beveiligd. Het is in staat om dergelijke aanvallen te weerstaan en authenticatie, privacy en beveiliging te bieden. |
Dit protocol is bedacht door Sir Timothy John. | Dit protocol is uitgevonden door Netscape Corporation voor zijn Navigator-browser. |
Gebruikt geen SSL-certificaat voor communicatie. | Gebruikt SSL-certificaat voor communicatie. |
Maakt geen gebruik van gegevensversleuteling. | Gebruikt gegevenscodering. |
Geschikt voor gebruik op websites met informatieconsumptie zoals blogs, forums, educatieve sites, amusement en artikelen. | Dit is de juiste keuze voor websites die privé- en gevoelige informatie verzamelen, zoals financiële of andere vertrouwelijke gegevens. Bijvoorbeeld betalingsgateways, winkelwebsites. |
Over snelheid gesproken, het is sneller dan HTTPS vanwege zijn eenvoud. Het is een staatloos protocol en roept niets op van de voorgaande websessie. | Over snelheid gesproken, het is langzamer dan HTTP. Dit komt doordat het opzetten van een beveiligde sessie enige tijd in beslag neemt. |
Verbetert de zoekpositie niet. | Verbetert de zoekpositie. In het jaar 2014 begon Google HTTPS te gebruiken als een rangschikkingssignaal. |
Slaat de verwijzingsgegevens niet op. Verwijzingsbronnen verschijnen alleen als direct verkeer. | Bewaart verwijzende gegevens. Het maakt Google Analytics dus effectiever en blijkt een groot voordeel te zijn voor SEO. |
Minder vertrouwen bij bezoekers omdat ze een risico op een inbreuk op de beveiliging voelen en hun gevoelige informatie kan uitlekken. | Creëert vertrouwen bij bezoekers omdat ze weten dat hun gevoelige informatie, zoals inloggegevens, browsegeschiedenis, accountgegevens, enz. Niet het risico lopen te worden blootgesteld. |
We kunnen AMP (Accelerated Mobile Pages) niet gebruiken met HTTP. | HTTPS geeft u het voordeel van het gebruik van AMP. HTTPS is een must als je Google AMP wilt gebruiken. |
De twee afbeeldingen helpen u de belangrijkste verschillen tussen HTTP en https te visualiseren:
(Beeld Bron
HTTP- versus HTTPS-prestaties
Over het algemeen is HTTP vanwege zijn eenvoud sneller dan HTTPS. In HTTPS hebben we een extra stap van SSL-handshake in tegenstelling tot HTTP. Deze extra stap vertraagt de laadsnelheid van de pagina enigszins.
Dit hangt echter weer af van bepaalde zaken, zoals de duur van de sessie, de verhouding tussen statische en dynamische inhoud, cachegedrag van de client, hardware, serversoftware, enz.
Bijvoorbeeld Als er veel dynamische inhoud op de server staat, wordt het laden van de pagina minder snel belemmerd door HTTPS, omdat de tijd die wordt besteed aan SSL-handshake onbeduidend wordt voor de tijd die wordt besteed aan het genereren van inhoud. Bij veel statische inhoud is de overhead echter hoger.
Zeer korte sessies worden ook beïnvloed door SSL-handshaketijd. Voor lange sessies worden deze kosten echter aan het begin van de sessie gemaakt en zullen de latere daaropvolgende verzoeken sneller zijn.
Maar bovenal wegen de beveiligingsvoordelen van HTTPS volledig op tegen de kleine vertragingen in de prestaties.
Er zijn ook bepaalde beschikbare manieren om de HTTPS-prestaties te verbeteren.
Dit bevat:
- HTTP / 2: Met HTTP / 2 wordt HTTPS alleen maar sneller, waardoor eventuele overheadkosten worden gecompenseerd. De belangrijkste voordelen en kenmerken van HTTP / 2 zijn onder meer multiplexing en gelijktijdigheid, headercompressie, streamafhankelijkheden en server-push.
- Brotli-compressie: Dit is een opensource-compressie-algoritme zonder verlies dat is geïntroduceerd door Google. Het vermindert het bandbreedteverbruik en helpt bij het sneller laden van inhoud.
- HPACK-compressie: Dit is gebaseerd op Huffman-codering en verkleint de headergrootte met ongeveer 30%. De HPACK-compressie is bestand tegen aanvallen op basis van compressie en heeft de mogelijkheid om grote headers te coderen.
- OCSP (Online certificaatstatusprotocol) Nieten: Dit is een methode om snel een SSL-certificaat te valideren.
- CDN: CDN is een netwerk voor het leveren van inhoud. Het gebruik van een CDN kan de round-trip-tijden en de totale kosten van TCP- en TLS-handshakes aanzienlijk verminderen.
Er is een website http://www.httpvshttps.com/ die een HTTP VS HTTPS-test uitvoert. Ik ontdekte dat het laden van de HTTP-versie voor dezelfde pagina 20.306 seconden kostte en het laden van de HTTPS-versie 7.630 seconden. Ik heb dit geprobeerd in de Chrome-browser.
Er zijn ook andere testplatforms en visuele vergelijkingstools beschikbaar die de vergelijking tussen laadtijden van HTTP- en https-paginaversies laten zien.
Gevolgtrekking
Dus in dit artikel hebben we de basisprincipes van HTTP en HTTPS begrepen en ook de verschillen tussen de twee gezien. Hoewel HTTP het basisprotocol biedt voor gegevensoverdracht tussen client en server, voegt HTTPS een beveiligingslaag toe aan HTTP voor de drie hoofddoelen: privacy, integriteit en authenticatie.
Historisch gezien werden HTTPS-verbindingen alleen gebruikt voor online financiële transacties. Maar de afgelopen jaren zijn bijna alle soorten websites begonnen met het gebruik van een HTTPS-verbinding om veilige communicatie te bieden.
Per slot van rekening kunnen privacy en beveiliging met betrekking tot de gevoelige informatie en browsegeschiedenis van de gebruiker niet in gevaar worden gebracht! Architectuur verstandig, HTTPS heeft een overhead van SSL-handshake en kan dus langzamer zijn dan HTTP. Maar de beveiligingsvoordelen die het biedt, wegen zwaarder dan deze kleine vertragingen in de prestaties.
In feite zijn er veel manieren om HTTPS-prestaties te verbeteren en tegenwoordig groeit HTTPS sneller.
Ik hoop dat dit artikel je kennis over het concept van HTTP en HTTPS zou hebben verrijkt!
Aanbevolen literatuur
- JMeter HTTPS-test scriptrecorder
- Verschil tussen LoadRunner en Performance Center
- MongoDB-prestaties: vergrendelingsprestaties, paginafouten en databaseprofilering
- Inleiding tot Appium Studio: belangrijkste voordelen en functies
- Georgia Tech standaardiseert zijn prestatietests op RadView WebLOAD
- Verschil tussen prestatietestplan en prestatieteststrategie
- Hoe voer ik handmatige prestatietests uit?
- Tools en services voor het testen van websiteprestaties