Protokół HTTP i HTTPS – podstawowe różnice
Spis treści:
Adres każdej strony internetowej pojawiającej się w pasku przeglądarki jest poprzedzony odpowiednim protokołem: http lub https. Nawet podając bezpośrednio adres na przykład dowolny-adres-strony.pl jest on automatycznie uzupełniany odpowiednio o http lub https, zapewniając poprawne wyświetlenie strony internetowej. Dzieje się tak dlatego, że protokoły stanowią nieodłączną część adresu URL (ang. Uniform Resource Locator) czyli adresu strony internetowej.
W związku z konstrukcją adresów URL, warto zauważyć, że adresy strony z protokołem http oraz z protokołem https, to dwa zupełnie różne adresy! Między innymi, dlatego jest to bardzo istotne z punktu widzenia pozycjonowania witryny. Co więcej ich odpowiedniki bez www to kolejne dwa różne adresy, dając nam łącznie 4 kombinacje. Jednak w artykule skupimy się na różnicy pomiędzy samymi protokołami. Więcej informacji odnośnie aspektu jakim są wersje strony z protokołem HTTP i HTTPS znajdziesz w jednym z naszych ostatnich wpisów o optymalizacji strony www pod Google.
Skróty http i https oznaczają protokoły komunikacji klienta z serwerem, czyli to w jaki sposób użytkownik odwiedzający stronę internetową otrzyma informację z serwera, zawierającą treść, z którą chciał się zapoznać. Główną różnicą między http i https jest sposób zabezpieczania witryny i przekazywania danych. Ponieważ z biegiem czasu w sieci rośnie świadomość dotycząca zagrożeń czyhających w Internecie, coraz częściej zwraca się uwagę na bezpieczeństwo przekazywanych informacji. W związku z powyższym można odczuć w Internecie trend przechodzenia z http na https, który od lat jest podsycany przez Google, między innymi w wytycznych dla webmasterów, gdzie zalecane jest jak najczęstsze korzystanie z protokołu https.
Co jeszcze znajdziesz w tym wpisie:
- Protokół HTTP
- Protokół HTTPS
- HTTP i HTTPS
- Certyfikat SSL – zamiana HTTP na HTTPS
- Jak działa SSL?
- Przejście na HTTPS
- Rodzaje certyfikatów SSL
- HTTPS a SEO
W dalszej części postaramy się wyjaśnić, co to jest http i https oraz co różni poszczególne protokoły oraz czy i jakie korzyści w zakresie SEO można otrzymać przy zmianie protokołu. Żeby omówić problem dokładniej, najpierw należy poznać podstawowe definicje obu protokołów i związanych z nimi pojęć.
Protokół HTTP
HTTP (ang. Hypertext Transfer Protocol) jest to protokół komunikacji użytkownika z serwerem, (gdzie przechowywane są pliki strony internetowej) który pozwala na przesyłanie danych. Domyślnie działa na porcie 80. Jego celem jest przedstawienie treści wskazanej strony internetowej konkretnemu użytkownikowi, który wysłał żądanie.
Protokół http jest wykorzystywany od lat 90 ubiegłego wieku, w celu komunikacji pomiędzy klientem a serwerem poprzez wymianę danych pomiędzy nimi. W dużym uproszczeniu:
- klient wysyła zapytanie na serwer (żądanie)
- serwer odsyła klientowi, dane (treść/zasoby strony internetowej)
- nie określa w jaki sposób dane z punktu A (klient) dotarły do punktu B (serwer)
Warto zwrócić uwagę, że protokół http należy do protokołów bezstanowych – oznacza to, że nie przechowuje danych. Dzięki temu serwer nie jest obciążany zbyt dużą ilością danych i może działać szybciej. Ten fakt jest kłopotliwy gdy korzysta się z witryny kilkukrotnie w krótkich odstępach czasu – za każdym razem muszą być pobrane z serwera od nowa.
Aby uniknąć tego problemu strony oparte na protokole http są wspierane przez ciasteczka (cookies), pozwalające na gromadzenie danych na temat, osób które odwiedziły witrynę. Dane uzyskane w ten sposób mogą być wykorzystane przez właściciela witryny w różnych celach. Jeśli kiedykolwiek realizowałeś kampanię remarketingową dla swojej strony, z pewnością skorzystałeś z tego mechanizmu.
Protokół HTTPS
Https jest szyfrowaną wersją protokołu http, domyślnie działającą na porcie 443. W odróżnieniu od komunikacji pomiędzy klientem a serwerem bez specyficznych ustawień. Protokół htts szyfruje przesyłane dane. Proces odbywa się za pomocą protokołu SSL / TLS, co pozwala unikać sytuacji przechwycenia danych lub co gorsza ich zmianie.
Tak jak opisane zostało we wstępie oznaczenie protokołu https znajduje się w polu wyszukiwania przed adresem internetowym strony stanowiąc jego integralną część. Zazwyczaj stosuje się protokół https w przypadku witryn, dla których wymagane jest większe zaufania co do serwera. Dlatego powinien on być obecny przy adresach:
- stron bankowości elektronicznej
- stron kantorów
- portali oferujących pożyczki
- sklepów internetowych
- stron oferujących płatność kartą kredytową
- portali z możliwością rejestracji i logowania użytkowników
- stron, które mają możliwość wpisania danych osobistych
Bardzo często stosuje się terminy HTTPS oraz SSL zamiennie, co nie jest do końca prawdą mimo że w mowie potocznej się przyjęło ze względu na ich zbieżność i zastosowanie. Protokół https umożliwia przesyłanie informacji między serwerem a klientem (przeglądarką) tak samo jak robi to HTTP, natomiast certyfikat SSL lub TLS definiuje sposób przekazywania danych.
Warto zapamiętać:
- Zastosowanie certyfikatu SSL lub TLS sprawi, że adres URL zmieni się z http:// na https://.
- Protokół HTTPS to szyfrowana wersja protokołu http, która szyfruje połączenie wykorzystując certyfikat SSL / TLS.
- Dla HTTP i HTTPS nie jest istotne jak dane docierają do miejsca przeznaczenia.
- Certyfikat SSL lub TLS dba o to jak dane są przekazywane, ale dba jak te dane wyglądają.
- Domyślny port dla protokołu https to 443 natomiast dla htpp to 80.
HTTP i HTTPS
Różnica pomiędzy http i http może mieć wpływ na bezpieczeństwo w sieci. Protokół https oznaczający, że połączenie jest szyfrowane pozwala na przesyłanie danych w sposób utrudniający ich przechwycenie. W przypadku wykorzystania połączenia nieszyfrowanego, czyli strony opartej o protokół http, istnieje ryzyko przechwycenia danych przez osoby niepożądane.
Ponadto coraz częściej w przeglądarkach internetowych przy adresie URL pojawia się komunikat o braku certyfikatu SSL. Jest to komunikat, który od strony użyteczności strony, może skutecznie odstraszyć potencjalnego użytkownika od dokonania konwersji a nawet przeglądania samej witryny. Ten stan jest wynikiem długofalowej polityki Google mającej na celu jak największe rozpowszechnienie korzystania z protokołu https.
Niezależnie od tego jaką stronę prowadzisz, powinieneś dbać o bezpieczeństwo i dobre doświadczenia użytkowników, poprzez zabezpieczenie przesyłanych informacji wykorzystując protokół SSL / TLS gdy tylko to możliwe. Zwłaszcza, że między innymi Google Chrome oznacza wszystkie strony na http jako niezabezpieczone, o czym już pisaliśmy na naszym blogu.
Certyfikat SSL – zamiana HTTP na HTTPS
Certyfikat SSL (ang. Secure Socket Layer) sprawia, że dane wymieniane pomiędzy serwerem a klientem są całkowicie bezpieczne. Za jego pomocą dokonywana jest zmiana protokołu z http na https. W tym samym celu używany jest TLS, natomiast ponieważ jest on nowszą wersją SSL, często oba pojęcia używane są zamiennie.
Jak działa SSL?
Zasada działania SSL jest dość złożona i zaawansowana technicznie ze względu na skomplikowane operacje kryptograficzne wykonywane w ramach bezpiecznego przesyłania danych. Na cele poniższego artykułu postaramy się w bardzo dużym uproszczeniu naświetlić zasadę działania na przykładzie, prezentującym co się może wydarzyć jeśli nie korzysta się z certyfikatu SSL/TLS.
Podstawą działania jest szyfrowanie asymetryczne, polegające na wygenerowaniu pary kluczy (publiczny – prywatny). To tak jakby istniała kłódka, którą można zakluczyć jednym kluczem (publicznym) natomiast otworzyć tylko pasującym kluczem (prywatnym).
Klucz publiczny jest widoczny dla wszystkich. (Dostępny dla każdego kto chce zostawić/przesłać wiadomość. Nie można użyć go do odszyfrowania wiadomości)
Klucz prywatny jest dostępny tylko dla odbiorcy. (Tylko on może otworzyć.)
Istotnym zadaniem SSL/TLS jest potwierdzenie zgodności certyfikatów, czyli czy zostały użyte klucze publiczne odbiorcy i nadawcy przy wymianie danych. Brak tego mechanizmu umożliwia przeprowadzenie ataku Man in the middle, polegającemu na tym, że osoba trzecia podmienia klucze w procesie komunikacji.
Wyobraź sobie, że klient Twojego sklepu dostaje inny numer konta (podmieniony przez osobę trzecią) lub że otrzymujesz adres dostawy inny niż klienta, który zapłacił za zamówiony towar.
Przejście na HTTPS
Na pytanie czy warto przejść na protokół HTTPS i jak zrobić to poprawnie odpowiadaliśmy już na naszym blogu i przed jego wdrożeniem warto zapoznać się z przedstawionymi w tym wpisie wytycznymi. Dodatkowo jeśli planujesz przebudowę swojej witryny, a korzysta ona z protokołu http, dobrze jest przy publikacji nowej wersji strony rozważyć skorzystanie z certyfikatu SSL / TLS i przejście na https. W ten sposób zaoszczędzisz wiele swojego czasu jak i specjalistów SEO pracujących na Twój sukces, wdrażając przekierowania przy odświeżaniu strony zamiast robić to dwa razy. Jednocześnie zwiększysz bezpieczeństwo przesyłanych danych na stronie internetowej.
Rodzaje certyfikatów SSL
Na rynku istnieje wiele rozwiązań i firm wystawiających certyfikaty. Oferta certyfikatów też jest dość szeroka i wybór zależy od samej witryny jak i celu, który ma być poprzez instalację certyfikatu osiągnięty. Zasadniczo certyfikaty dzielą się na 3 różne klasy różniące się poziomem weryfikacji:
DV (Domain Validation)
OV (Organization Validation)
EV (Extended Validation)
To który z nich wybrać najlepiej skonsultować się ze swoim specjalistą ds pozycjonowania i/lub dostawcą hostingu bądź developerem. Bardziej szczegółowe informacje o tym czym różnią się poszczególne certyfikaty oraz jak przenieść stronę na HTTPS wraz z instrukcją krok po kroku także znajdziesz na naszym blogu.
HTTPS a SEO
Powszechnie wiadomo, że algorytmy Google dla pozycjonowania zmieniając się bardzo często i na pozycję poszczególnych stron wpływa wiele czynników. Jednak biorąc pod uwagę dotychczasowe trendy, działania i oświadczenia Google można wnioskować, że wykorzystanie protokołu https jest jednym z czynników rankingowych branych pod uwagę przy ocenie witryny oraz, że jego znaczenie będzie z biegiem czasu coraz bardziej istotne. Świadczą o tym między innymi poniższe fakty:
- przejście Google z http://google.pl na https://google.pl w roku 2011
- ogłoszenie przez Google w sierpniu 2014, że bezpieczne połączenie będzie jednym z czynników rankingowych
- ustalenie zasad przez Google w 2015, że jeśli strona ma wersję https, to może ona być traktowana jako główna wersja witryny (ze względu na to, że adresy stron http:// i http:// to dwa różne adresy)
- ogłoszenie poprzez pracowników Google w roku 2016, że od 2017 zmianie ulegnie polityka związana z certyfikatami SSL i zwłaszcza sklepy internetowe powinny z nich korzystać
- ogłoszenie w październiku 2016 na blogu developerskim Google, że przeglądarka Google Chrome od stycznia 2017, będzie ostrzegać użytkowników przed witrynami na protokole http, które mają pola haseł (na poszczególnych podstronach, na przykład kontaktowych lub służących do składania zamówienia)
- informacje w wytycznych dla webmasterów, gdzie zalecane jest jak najczęstsze korzystanie z protokołu https.
Jednak jak w międzyczasie (po sierpniu 2014 roku) pokazały wyniki Searchmetrics, od momentu gdy wprowadzono ogłoszone zmiany algorytmu związane z protokołem https, nie odnotowano żadnych różnic pomiędzy pozycjami stron wykorzystujących protokół http a tych które korzystały z szyfrowanego protokołu https.
Powyższe badanie było wykonywane dość dawno, dlatego nie należy jego wyników brać za pewnik i to, że wprowadzony algorytm nie wprowadzał dużych zmian w pozycji nie oznacza, że nie będzie się to zmieniać z biegiem czasu. Po ogłoszeniu wyników powszechnie mówiono, że aby protokół https mógł rzeczywiście znacząco wpłynąć na pozycję strony, należałoby mu nadać większe znaczenie. Kroki podjęte przez Google od tego czasu sugerują, że staje się to coraz bardziej realne i znaczenie protokołu https w procesie pozycjonowania będzie wzrastać.
Mimo to wspominany w tym wpisie trend dotyczący przechodzenia z protokołu http na https jest zauważalny i właściciele stron, coraz częściej decydują się na ten krok. Według rankingu Alexa w badaniu około 138 tysięcy najpopularniejszych domen w kwietniu bieżącego roku z https korzystało 57,1% domen, natomiast w grudniu 2018 roku jest to już 64,7%. W kontekście najpopularniejszych stron zdaje się to być dużo, natomiast w grupie miliona najpopularniejszych witryn według Alexa z https korzystało w kwietniu już tylko 33,2% stron.
Jaka jest zatem różnica między http a https w kontekście pozycjonowania witryny? Czy efekty przejścia będą widoczne w pozycjach strony internetowej? Nie ma jednoznacznych przesłanek, że już nastał ten dzień, w którym należy przejść na protokół https (o ile nie przesyła się danych wrażliwych). Co więcej w przypadku małych lub młodych stron, o niskiej widoczności w ramach takiego przejścia najprawdopodobniej nie odczuje się żadnej różnicy. Jednak jeśli strona już posiada relatywnie dużą widoczność, konkuruje na wiele różnych słów kluczowych przede wszystkim z długiego ogona, nawet mała zmiana, drobny wzrost pozycji może mieć wpływ na to, że więcej osób się będzie na niej pojawiać. Dodatkowo nie należy zapominać o zwiększonym bezpieczeństwie witryny sprawiającym, że użytkownicy mogą być bardziej skłonni do dokonania konwersji.
Wasze strony działają już w oparciu o protokół HTTPS? Czy planujecie już taką zmianę?
SSL-ka jest szczególnie ważna w biznesie. Wiele sklepów niestety nie wdrożyło tego protokołu komunikacyjnego co na pewno nie przyczyni się do wzrostu sprzedaży, a wręcz odwrotnie. Po pierwsze świadomość użytkowników jest o wiele większa w tym temacie niż kiedykolwiek, a do tego Google niezbyt przychylnie patrzy na witryny bez tego protokołu.
Pięknie! Czekam właśnie na Twoja najnowszą książkę „Modus operandi Pozycjonera”. Interesuje mnie wersja VIP z autografem. Gdzie to można zamówić ?
Jakość pół roki temu wdrożyłem https i jak do tej pory nie widzę żadnych zmian pozycji strony na lepsze czy gorsze. W zasadzie odwiedziny serwisu są na tym samym poziomie cały czas. Tak czy inaczej na pewno warto to mieć bo wszystko napiera na takie rozwiązania. Może w przyszłości będzie na to większy nacisk, lepiej już teraz indeksować się z https niż później.