9.1 http

U bent al goed bekend met het http-protocol. Maar hoogstwaarschijnlijk weet u niet dat er al drie versies van dergelijke protocollen zijn. Als toekomstige Java-programmeur moet u zich minstens één keer vertrouwd maken met deze casus.

Hieronder zal ik je vertellen wat voor soorten protocollen zijn en wat hun kenmerken zijn. In de tussentijd is hier een foto voor jou - studeer.

http-protocollen

9.2 https

Laten we beginnen met de eerste wijziging van het http-protocol - het https-protocol . Dit is dezelfde http, maar er is inhoudsversleuteling aan toegevoegd. Http-verzoeken en -antwoorden zijn immers gewone tekstbestanden. U wilt waarschijnlijk niet dat alles wat uw browser verzendt en ontvangt, ongehinderd via internet gaat.

Om dit probleem op te lossen is het https-protocol ( http+security ) uitgevonden . Wanneer u een verzoek probeert te doen met behulp van het https-protocol, maakt uw browser eerst verbinding met de vereiste server en vraagt ​​deze om zijn SSL-certificaat.

Vervolgens wordt dit certificaat gecontroleerd op echtheid: het bevat de naam van het domein en een lijst met openbare sleutels van degenen die dit certificaat aan de server hebben uitgegeven.

Als het certificaat echt is, brengt de browser een versleutelde verbinding met die server tot stand. En al binnen deze verbinding worden gegevens verzonden via het http-protocol.

En aangezien informatie over de gevraagde bron wordt verzonden in het protocol zelf, kan niemand bij gebruik van het https-protocol informatie onderscheppen over welke serverbronnen de browser heeft gebruikt.

Tegenwoordig is dit protocol de de-facto standaard geworden en heeft het bijna de goede oude http verdrongen.

Als iemand de server probeert te vervangen waarnaar u een https-verzoek stuurt, kan hij het domeincertificaat niet vervangen. De browser begrijpt dit en u ziet een pagina als deze:

9.3 http/2

Maar er is niets in deze wereld dat niet kan worden verbeterd. Nadat Google de browseroorlog had gewonnen , besloot het het hele internet voor zichzelf over te nemen. En natuurlijk voor een nobel doel. Ze besloten het http-protocol te verbeteren.

Zo gezegd zo gedaan. Toegevoegd aan de nieuwe standaard voor gegevensoverdracht:

  • Verplichte encryptie.
  • Gegevenscompressie in HTTP-headers.
  • De server kan bestanden versturen nog voordat ze zijn opgevraagd (push-technologie).
  • Er kunnen meerdere http-verzoeken zijn via een enkele TCP-verbinding.
  • Verzoeken worden verwerkt als een pijplijn (u hoeft niet te wachten op een reactie om een ​​nieuw verzoek te verzenden).
  • Het protocol is binair (het is niet nodig om niet-afdrukbare tekens in tekst te vertalen).

Veel hiervan is verborgen voor de Java-programmeur en wordt onderhouden op webserver- en browserniveau.

9.4 http/3

De derde versie van het http-protocol wordt nog afgerond en de grootste vernieuwing is de afwijzing van het TCP-protocol. De gegevens gaan direct over UDP.

Soortgelijk. Mensen bedachten het OSI-model, ze bedachten het, en hier ben je dan. Wat je niet moet doen omwille van de snelheid. Aan de andere kant kan het wel kloppen. Tegenwoordig wordt er veel streaming video verzonden op internet en heeft God zelf opdracht gegeven om daar UDP te gebruiken.

Oh, met de charmes van dit protocol, ben je al aan het spelen. Ik heb de mijne al af :)

U kunt meer lezen over http/3