Pytanie w tytule może wydawać się retoryczne, jednak rzeczywistość nie zawsze jest taka jak nam się wydaje. W tym artykule postaramy się udowodnić, że przejście z HTTP na HTTPS nie zawsze jest potrzebne i czasami powoduje więcej problemów niż korzyści.
Każdy z nas przy wyborze HTTPS kieruje się przede wszystkim zwiększonym bezpieczeństwem oraz lepszym pozycjonowaniem w rankingach Google. Plusy zarówno dla IT jak i dla biznesu. Jednak do niedawna HTTPS używany był tylko w witrynach korzystających z płatności elektronicznych i nikt nie zauważał problemu z tym, że inne strony działają na HTTP. Być może, szyfrowany protokół jest więc głównie modą i trendem Internetu, do którego wszyscy powinni się dostosować.
Zanim przejrzymy argumenty „za” i „przeciw” stosowaniu obydwu protokołów, uporządkujmy wiedzę na ich temat.
Protokół HTTP
Pełną nazwą tego najpopularniejszego na świecie protokołu jest Hypertext Transfer Protocol. Zawiera on szereg reguł, które standaryzują sposób przesyłania dowolnych informacji w sieci WWW. Dzięki temu możliwa jest prosta komunikacja między przeglądarkami i serwerami hostującymi witryny. Jest protokołem sieciowym warstwy aplikacyjnej zbudowanym na podstawie modelu TCP/IP. Domyślnie działa na porcie 80. HTTP wykorzystuje tzw. strukturalny hypertext, czyli logiczne połączenia pomiędzy węzłami zawierającymi zrozumiały dla przeglądarki tekst. Jest również klasyfikowany jako protokół „bezstanowy”, ponieważ każde polecenie jest wykonywane osobo, bez odniesień do wcześniejszych operacji.
Zalety:
- HTTP może być zaimplementowany jako część innego protokołu sieciowego,
- Strony HTTP przechowywane są w pamięci podręcznej komputera i przeglądarki, dzięki czemu są szybko dostępne,
- Jest niezależny od platformy oraz technologii, co umożliwia proste migracje,
- Nie wymaga obsługi środowiska wykonawczego,
- Możliwe tworzenie webowych aplikacji dostępnych globalnie (działa na warstwie aplikacyjnej),
- Nie jest „Connection Oriented”, co znaczy, że nie wprowadza dodatkowego obciążenia sieciowego na tworzenie i utrzymywanie sesji.
Ograniczenia:
- Brak prywatności – każdy może zobaczyć treść komunikacji,
- Brak zapewnienia integralności danych,
- Brak szyfrowania,
- Pytający nie ma pewności z kim tak naprawdę rozmawia – podany na ataki MitM.
Protokół HTTPS
Rozwinięcie skrótu HTTPS to Hyper Text Transfer Protocol Secure. Jest to bardziej zaawansowana i bezpieczniejsza wersja HTTP. Domyślnie do połączenia używa portu 443. Umożliwia bezpieczną komunikacje poprzez szyfrowanie za pomocą SSL. Jest to w zasadzie połączenie protokołu SSL/TLS z protokołem HTTP.
Dzięki HTTPS możliwe jest nawiązanie bezpiecznego szyfrowanego połączenia między serwerem a przeglądarką. Pozwala to na dwukierunkową wymianę danych bez możliwości podsłuchania i kradzieży informacji. Transakcje SSL oparte są na kluczu szyfrującym, który składa się z 40 lub 128 bitów.
Zalety:
- W większości przypadków strony działające na HTTPS mają przekierowanie z portu HTTP, dlatego nawet po wpisaniu „http://” uda się z nią połączyć,
- Umożliwia przeprowadzanie bezpiecznych transakcji internetowych e-commerce,
- Wykorzystuje technologię SSL, która buduje powszechne zaufanie,
- Tożsamość certyfikatu weryfikuje niezależny organ, dlatego każdy certyfikat jest unikalny i zawiera dane o tożsamości właściciela (witryny).
Ograniczenia:
- Nie może uchronić przed kradzieżą informacji znajdujących się na stronach buforowanych w pamięci przeglądarki,
- Może zwiększyć obciążenie serwera hostującego treści, a także obciążenie sieciowe,
- Wygenerowanie i utrzymywanie certyfikatu SSL to dodatkowy koszt.
Główne różnice HTTP vs HTTPS
- HTTP cierpi na brak mechanizmu szyfrowania danych, gdzie w HTTPS mamy zabezpieczenie komunikacji SSL lub TLS
- HTTP działa na warstwie aplikacyjnej, a HTTPS na warstwie transportowej
- Port HTTP to 80, a HTTPS to 443
- HTTP transportuje dane w postaci czystego tekstu, a HTTPS zaszyfrowanego
- Strony działające na HTTP są szybsze w porównaniu do HTTPS, ponieważ serwer nie zużywa zasobów w celu szyfrowania i odszyfrowywania danych
Powody za przejściem na HTTPS
Prosta sprawa – najmocniejszym argumentem jest zawsze zwiększenie bezpieczeństwa witryny. Oczywiście HTTPS nie działa jak Web Application Firewall (WAF), nie zapobiegnie włamaniu na stronę. Jeśli jednak używasz systemu zarządzania treścią (CMS), takiego jak WordPress, lub logujesz się na zamkniętą część strony, gdzie przechowywane są poufne dane, to skonfigurowanie bezpiecznego połączenia HTTPS jest absolutnym minimum. W rzeczywistości HTTPS pod względem bezpieczeństwa traktowany jest dzisiaj jako best-practise.
Po za bezpieczeństwem, HTTPS zwiększa również zaufanie witryny. Według badań przeprowadzonych przez GlobalSign ponad 80 procent ankietowanych zrezygnowałoby z zakupów on-line, gdyby strona nie używała HTTPS.
Czyli wiemy już, że stosowanie HTTPS ma sens w przypadku witryn e-commerce, ale co w przypadku firm i stron, które nie prowadzą sprzedaży on-line oraz na których nie rejestrują się użytkownicy. Z tych samych badań wynika, że stosowanie dodatkowych zabezpieczeń pomaga generować nawet do 40% więcej ruchu na stronie. Nie tylko użytkownicy zwracają uwagę na bezpieczeństwo witryny. Robi to też Google. Bezpieczeństwo jest teraz na topie, dlatego Google oznajmia, że stosuje HTTPS jako jeden z czynników rankingowych w swoich algorytmach pozycjonowania.
Powody za zostaniem przy HTTP
Inne badania pokazują z drugiej strony, że w przypadku mniejszych witryn brytyjskich firm B2B procent wykorzystywania HTTPS jest niewielki. Przyczyny obejmują brak świadomości rosnącego znaczenia protokołu SSL, ale również złożoność technicznego przejścia z protokołu HTTP na HTTPS, a w szczególności potencjalny negatywny wpływ na SEO.
SEO, czyli optymalizacja strony dla wyszukiwarek internetowych, jest jednym za najważniejszych czynników, szczególnie w przypadku witryn, którym zależy na dobrym rankingu w wyszukiwarkach. Przejście na HTTPS dla mało doświadczonego webmastra może nie być prostym zadaniem i łatwo jest w ten sposób popsuć wypracowaną pozycję SEO witryny. Szczególnie tyczy się to wewnętrznego linkowania i mapy strony. Zgodnie z zasadą: „Jeśli się coś nie popsuło, to tego nie naprawiaj”, nie zaleca się przechodzić na HTTPS tylko pod kątem zwiększenia rankingu przez Google, ponieważ można pogorszyć sytuację.
Przejście na HTTPS jest stosunkowo proste dla małych witryn. Dla dużych wymaga pewnych umiejętności technicznych, aby nie popsuć wypracowanej pozycji strony w wyszukiwarkach.
Przyszłość jest jednak prosta i oczywista. Korzystanie z HTTPS będzie coraz bardziej normą niż wyjątkiem i wszyscy powinni ostatecznie planować migrację wcześniej niż później.