Ciekawostki o HTTP i HTTPS

budowa strony

HTTP to protokół warstwy aplikacji służący do przesyłania dokumentów hipertekstowych, zaprojektowany pierwotnie w ośrodku CERN przez Tima Bernersa-Lee w 1989 roku. Jego ewolucja doprowadziła do zastąpienia nieszyfrowanego strumienia tekstowego protokołem HTTPS z natywnym szyfrowaniem TLS 1.3, kompresją HPACK oraz transmisją pakietów w oparciu o UDP w standardzie HTTP/3.

16 ciekawostek o HTTP i HTTPS

  1. Pierwotna wersja HTTP 0.9 z 1991 roku
    Protokół HTTP/0.9 zdefiniowany przez Tima Bernersa-Lee obsługiwał wyłącznie metodę GET, nie posiadał nagłówków ani kodów odpowiedzi, a serwer natychmiast po wysłaniu pliku HTML zamykał gniazdo.
  2. Przełomowe utrzymywanie połączeń Keep-Alive
    Wprowadzony w specyfikacji RFC 2061 protokół HTTP/1.1 wdrożył domyślny nagłówek Connection: keep-alive, eliminując kosztowne nawiązywanie nowego trójstopniowego uścisku dłoni TCP dla każdego pliku graficznego.
  3. Binarna warstwa ramkowania w HTTP 2
    W maju 2015 roku standard HTTP/2 (RFC 7540) zastąpił czytelny format tekstowy binarną warstwą ramkowania (Binary Framing Layer), dzieląc komunikaty na precyzyjnie tagowane ramki danych.
  4. Koniec blokowania kolejki HOL Blocking w HTTP 3
    Protokół HTTP/3 (RFC 9114) porzucił TCP na rzecz protokołu QUIC działającego na bazie UDP, dzięki czemu utrata pojedynczego pakietu w sieci nie wstrzymuje transmisji pozostałych strumieni danych.
  5. Dedykowana kompresja nagłówków HPACK
    Standard HTTP/2 zaimplementował mechanizm HPACK (RFC 7541), który kompresuje powtarzające się nagłówki żądań przy użyciu współdzielonej tabeli statycznej z 61 predefiniowanymi indeksami.
  6. Redukcja opóźnień dzięki TLS 1.3
    Wdrożenie protokołu szyfrowania TLS 1.3 w 2018 roku skróciło procedurę uzgadniania kluczy kryptograficznych z dwóch do jednego pełnego cyklu RTT, wprowadzając także tryb 0-RTT.
  7. Mechanizm wymuszania szyfrowania HSTS
    Nagłówek Strict-Transport-Security (HSTS) instruuje przeglądarkę, aby automatycznie konwertowała wszystkie nieszyfrowane odwołania HTTP na HTTPS przed wysłaniem żądania do sieci.
  8. Wirtualne hosty i rozszerzenie SNI
    Rozszerzenie SNI (Server Name Indication) w protokole TLS przesyła nazwę żądanej domeny na etapie nawiązywania połączenia, umożliwiając obsługę wielu certyfikatów SSL na jednym publicznym adresie IP.
  9. Weryfikacja unieważnienia certyfikatu przez OCSP Stapling
    Technologia OCSP Stapling przenosi obowiązek cyklicznego sprawdzania ważności certyfikatu SSL na serwer WWW, który dołącza podpisany cyfrowo znacznik czasu CA bezpośrednio do uścisku dłoni TLS.
  10. Prawdziwy powód powstania kodu błędu 404
    Kod statusu 404 (Not Found) nie pochodzi od numeru mitycznego pokoju na serwerach w CERN, lecz jest ustrukturyzowanym oznaczeniem kategorii błędów klienta 4xx zdefiniowanym formalnie w specyfikacji HTTP/1.0.
  11. Kod błędu 418 I am a teapot
    W 1998 roku w primaaprilisowym dokumencie RFC 2324 IETF zdefiniowało protokół sterowania dzbankami do kawy HTCPCP wraz z oficjalnym kodem błędu 418, który pozostał w implementacjach wielu silników WWW.
  12. Ochrona ciasteczek flagami HttpOnly i SameSite
    Atrybut HttpOnly blokuje odczyt ciasteczek sesyjnych przez skrypty JavaScript (zabezpieczenie przed XSS), a flaga SameSite chroni sesję użytkownika przed atakami typu Cross-Site Request Forgery.
  13. Format kodowania przesyłowego Chunked
    Nagłówek Transfer-Encoding: chunked w HTTP/1.1 umożliwia serwerowi strumieniowe wysyłanie dynamicznie generowanej odpowiedzi w ponumerowanych porcjach bajtów bez znajomości jej ostatecznego rozmiaru.
  14. Mechanizm negocjacji zawartości Content Negotiation
    Nagłówki Accept-Encoding oraz Accept pozwalają przeglądarce i serwerowi dynamicznie ustalić najwydajniejszy format kompresji zasobu (np. Brotli, Gzip) lub typ MIME przesyłanego pliku.
  15. Blokowanie manipulacji refererem przez Referrer-Policy
    Wprowadzony nagłówek Referrer-Policy pozwala administratorom precyzyjnie decydować, jak wiele danych o pełnej ścieżce adresu URL podstrony źródłowej zostanie przekazanych do witryn zewnętrznych.
  16. Wykorzystanie portu 443 i portu 80
    Domyślnym portem przypisanym w rejestrze IANA dla nieszyfrowanej transmisji HTTP jest port 80, natomiast cały zaszyfrowany ruch w standardzie HTTPS kierowany jest domyślnie na port 443.

HTTP i HTTPS pytania

Czym różni się protokół HTTP od HTTPS?

Protokół HTTPS szyfruje przesyłane dane za pomocą protokołu TLS, chroniąc hasła i formularze przed podsłuchem, podczas gdy HTTP wysyła informacje jawnym tekstem.

Czy posiadanie certyfikatu SSL i HTTPS wpływa na pozycjonowanie w Google?

Bezpieczny protokół HTTPS jest oficjalnym, lekkim czynnikiem rankingowym w Google oraz elementem weryfikacji bezpieczeństwa Page Experience.

Czym jest błąd Mixed Content i jak go naprawić?

To sytuacja, gdy szyfrowana strona ładuje grafiki lub skrypty przez protokół http. Aby go usunąć, podmień ścieżki zasobów w bazie danych na https://.

Jak wymusić przekierowanie z HTTP na HTTPS w pliku .htaccess?

Wklej na początku pliku .htaccess regułę RewriteEngine On sprawdzającą zmienną HTTPS off i przekierowującą ruch kodem 301 na pełny adres https://.

Na jakich portach domyślnie działają protokoły HTTP i HTTPS?

Nieszyfrowany protokół HTTP korzysta domyślnie z portu 80, natomiast połączenia szyfrowane port 443 realizują przez dedykowany kanał TLS.

Do czego służy nagłówek bezpieczeństwa HSTS?

Nagłówek HSTS informuje przeglądarkę, że ma łączyć się z domeną wyłącznie przez HTTPS, eliminując podatność na ataki typu man-in-the-middle przy pierwszym wejściu.

Czy po migracji na HTTPS trzeba zaktualizować usługę w Google Search Console?

Google traktuje wersję http i https jako dwie osobne witryny, dlatego dodaj usługę jako Domena lub zweryfikuj nowy prefiks adresu URL z https://.

Czym różni się darmowy certyfikat Let's Encrypt od płatnych certyfikatów EV?

Oba zapewniają identyczną siłę szyfrowania połączenia SSL, jednak certyfikaty płatne oferują dodatkową weryfikację tożsamości firmy i gwarancję finansową.

Dlaczego protokół HTTP/2 i HTTP/3 wymaga wdrożenia certyfikatu SSL?

Wszystkie nowoczesne przeglądarki internetowe obsługują wielowątkowy standard HTTP/2 oraz protokół HTTP/3 wyłącznie przez bezpieczne połączenie szyfrowane.

Jak naprawić błąd Your connection is not private przy wejściu na stronę?

Błąd ten wynika z wygaśnięcia certyfikatu, braku dopasowania nazwy domeny do certyfikatu lub błędu konfiguracji certyfikat pośredni na serwerze.

Co zrobić z tagami rel canonical po przejściu z HTTP na HTTPS?

Zaktualizuj wszystkie linki kanoniczne w kodzie HTML tak, aby wskazywały bezpośrednio na adres z https://, co zapobiegnie pętlom i błędom indeksowania.

 

Link do artykułu skopiowany
DIVI

Ciekawostki o DIVI

Poznaj architekturę frameworka Divi: ewolucję od shortcode’ów w Divi 4 do silnika JSON w Divi 5, Theme Builder, Critical CSS i kompilację React.