{"id":4769,"date":"2026-08-11T20:58:58","date_gmt":"2026-08-11T18:58:58","guid":{"rendered":"https:\/\/www.sycope.com\/?post_type=dictionary-item&#038;p=4769"},"modified":"2026-08-11T22:47:41","modified_gmt":"2026-08-11T20:47:41","slug":"http-https","status":"publish","type":"dictionary-item","link":"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/http-https","title":{"rendered":"HTTP \/ HTTPS"},"content":{"rendered":"<p><strong>HTTP<\/strong> (Hypertext Transfer Protocol) to protok\u00f3\u0142, kt\u00f3rym przegl\u0105darka prosi serwer o stron\u0119 lub dane, a serwer jej odpowiada. Dzia\u0142a w modelu \u017c\u0105danie\u2013odpowied\u017a i jest <strong>bezstanowy<\/strong> \u2014 ka\u017cde zapytanie traktuje osobno, bez pami\u0119ci o poprzednich. <strong>HTTPS<\/strong> (HTTP Secure) to ten sam protok\u00f3\u0142, ale przesy\u0142any przez szyfrowany tunel <code>TLS<\/code> (Transport Layer Security). <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/tls-ssl\">TLS<\/a> dok\u0142ada poufno\u015b\u0107, integralno\u015b\u0107 danych i potwierdzenie to\u017csamo\u015bci serwera. HTTP u\u017cywa domy\u015blnie portu <code>80<\/code>, a HTTPS portu <code>443<\/code>. Ca\u0142a r\u00f3\u017cnica polega na tym, \u017ce HTTPS owija zwyk\u0142y HTTP w warstw\u0119 szyfrowania.<\/p>\n<h2>Czym jest HTTP?<\/h2>\n<p>HTTP ustala, jak klient (zwykle przegl\u0105darka) prosi o zas\u00f3b i jak serwer odpowiada. Jest <strong>bezstanowy<\/strong>: ka\u017cde \u017c\u0105danie jest niezale\u017cne, a to, \u017ce jeste\u015b zalogowany albo masz co\u015b w koszyku, pami\u0119taj\u0105 dodatkowe mechanizmy \u2014 ciasteczka, nag\u0142\u00f3wki autoryzacji, tokeny. Pojedynczy komunikat HTTP ma lini\u0119 startow\u0105, nag\u0142\u00f3wki i opcjonalne cia\u0142o (w\u0142a\u015bciw\u0105 tre\u015b\u0107).<\/p>\n<h3>Metody HTTP<\/h3>\n<ul>\n<li><code>GET<\/code> \u2014 pobranie zasobu (bez efekt\u00f3w ubocznych).<\/li>\n<li><code>POST<\/code> \u2014 przes\u0142anie danych do przetworzenia.<\/li>\n<li><code>PUT<\/code> \u2014 utworzenie lub zast\u0105pienie zasobu.<\/li>\n<li><code>PATCH<\/code> \u2014 cz\u0119\u015bciowa zmiana zasobu.<\/li>\n<li><code>DELETE<\/code> \u2014 usuni\u0119cie zasobu.<\/li>\n<li><code>HEAD<\/code> \u2014 jak <code>GET<\/code>, ale zwraca same nag\u0142\u00f3wki, bez cia\u0142a.<\/li>\n<li><code>OPTIONS<\/code> \u2014 sprawdzenie, kt\u00f3re metody s\u0105 dozwolone (m.in. preflight CORS).<\/li>\n<li><code>CONNECT<\/code> \u2014 zestawienie tunelu (typowo do serwera proxy dla HTTPS).<\/li>\n<\/ul>\n<h3>Kody statusu HTTP<\/h3>\n<ul>\n<li><strong>1xx<\/strong> \u2014 informacyjne (np. <code>101 Switching Protocols<\/code>).<\/li>\n<li><strong>2xx<\/strong> \u2014 sukces (<code>200 OK<\/code>, <code>201 Created<\/code>, <code>204 No Content<\/code>).<\/li>\n<li><strong>3xx<\/strong> \u2014 przekierowania (<code>301 Moved Permanently<\/code>, <code>302 Found<\/code>, <code>304 Not Modified<\/code>).<\/li>\n<li><strong>4xx<\/strong> \u2014 b\u0142\u0119dy po stronie klienta (<code>400<\/code>, <code>401<\/code>, <code>403<\/code>, <code>404<\/code>, <code>429 Too Many Requests<\/code>).<\/li>\n<li><strong>5xx<\/strong> \u2014 b\u0142\u0119dy po stronie serwera (<code>500<\/code>, <code>502<\/code>, <code>503<\/code>, <code>504<\/code>).<\/li>\n<\/ul>\n<h2>Czym r\u00f3\u017cni si\u0119 HTTPS od HTTP?<\/h2>\n<p>HTTPS to HTTP przesy\u0142any przez po\u0142\u0105czenie zabezpieczone protoko\u0142em <code>TLS<\/code> (nast\u0119pc\u0105 starszego <code>SSL<\/code>). TLS dok\u0142ada trzy rzeczy, kt\u00f3rych zwyk\u0142y HTTP nie ma:<\/p>\n<ul>\n<li><strong>Poufno\u015b\u0107<\/strong> \u2014 tre\u015b\u0107 jest zaszyfrowana, wi\u0119c kto\u015b pods\u0142uchuj\u0105cy sie\u0107 (np. na publicznym Wi-Fi, u operatora, w punkcie po\u015brednicz\u0105cym) nie odczyta cia\u0142a ani nag\u0142\u00f3wk\u00f3w HTTP, w tym ciasteczek i danych logowania.<\/li>\n<li><strong>Integralno\u015b\u0107<\/strong> \u2014 je\u015bli dane zostan\u0105 po drodze podmienione, zostanie to wykryte (mechanizmy MAC\/AEAD). Trudniej wi\u0119c komu\u015b z zewn\u0105trz wstrzykn\u0105\u0107 w\u0142asn\u0105 tre\u015b\u0107.<\/li>\n<li><strong>Potwierdzenie to\u017csamo\u015bci serwera<\/strong> \u2014 certyfikat X.509 podpisany przez urz\u0105d certyfikacji (CA, Certificate Authority) potwierdza, \u017ce \u0142\u0105czysz si\u0119 z w\u0142a\u015bciw\u0105 domen\u0105, a nie z podstawionym serwerem. To utrudnia atak <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/man-in-the-middle-mitm\">man-in-the-middle<\/a>, w kt\u00f3rym napastnik wciska si\u0119 mi\u0119dzy Ciebie a serwer.<\/li>\n<\/ul>\n<p>W zwyk\u0142ym HTTP wszystko leci <strong>tekstem jawnym<\/strong>: adres URL ze \u015bcie\u017ck\u0105 i parametrami, nag\u0142\u00f3wki, ciasteczka i cia\u0142o. Ka\u017cdy po drodze mo\u017ce to przeczyta\u0107 lub zmieni\u0107. W HTTPS obserwator z zewn\u0105trz widzi g\u0142\u00f3wnie: docelowy adres IP, port <code>443<\/code>, przybli\u017cone rozmiary i czasy pakiet\u00f3w oraz nazw\u0119 hosta (przez pole <code>SNI<\/code> w handshake i przez zapytania <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/dns\">DNS<\/a> \u2014 chyba \u017ce u\u017cywa si\u0119 szyfrowanego DNS i <code>Encrypted Client Hello<\/code>). Pe\u0142na \u015bcie\u017cka URL, parametry i sama tre\u015b\u0107 pozostaj\u0105 zaszyfrowane.<\/p>\n<h2>Jak dzia\u0142a handshake TLS?<\/h2>\n<p>Zanim poleci pierwsze \u017c\u0105danie HTTP, obie strony ustalaj\u0105 zasady szyfrowania w tzw. handshake TLS (wymianie powitalnej):<\/p>\n<ol>\n<li>Klient wysy\u0142a <em>ClientHello<\/em> z obs\u0142ugiwan\u0105 wersj\u0105 TLS, losow\u0105 warto\u015bci\u0105 i list\u0105 zestaw\u00f3w szyfr\u00f3w (cipher suites).<\/li>\n<li>Serwer odpowiada <em>ServerHello<\/em>, przesy\u0142a sw\u00f3j certyfikat i wybiera zestaw szyfr\u00f3w.<\/li>\n<li>Strony uzgadniaj\u0105 klucz sesji za pomoc\u0105 kryptografii asymetrycznej (np. ECDHE, kt\u00f3re daje <em>forward secrecy<\/em> \u2014 przechwycony dzi\u015b ruch nie da si\u0119 odszyfrowa\u0107 nawet po wykradzeniu klucza w przysz\u0142o\u015bci).<\/li>\n<li>Dalej komunikacja jest szyfrowana symetrycznie wsp\u00f3lnym kluczem sesji \u2014 to znacznie szybsze ni\u017c kryptografia asymetryczna.<\/li>\n<\/ol>\n<p><code>TLS 1.3<\/code> skraca handshake do jednego round-tripa (a przy wznowieniu sesji do trybu <code>0-RTT<\/code>), usuwa przestarza\u0142e szyfry i wymusza forward secrecy. Gdy certyfikat wygas\u0142, szyfr jest s\u0142aby albo nazwa hosta si\u0119 nie zgadza, przegl\u0105darka pokazuje b\u0142\u0105d bezpiecze\u0144stwa.<\/p>\n<h2>Czym jest HSTS?<\/h2>\n<p><code>HSTS<\/code> (HTTP Strict Transport Security) to nag\u0142\u00f3wek odpowiedzi (<code>Strict-Transport-Security<\/code>), kt\u00f3ry m\u00f3wi przegl\u0105darce: przez okre\u015blony czas \u0142\u0105cz si\u0119 z t\u0105 domen\u0105 wy\u0142\u0105cznie po HTTPS. Po jego zapami\u0119taniu przegl\u0105darka sama zamienia <code>http:\/\/<\/code> na <code>https:\/\/<\/code>, a \u017c\u0105danie HTTP w og\u00f3le nie opuszcza urz\u0105dzenia. Dzi\u0119ki temu HSTS chroni przed atakami downgrade i SSL stripping, w kt\u00f3rych napastnik pr\u00f3buje zepchn\u0105\u0107 ofiar\u0119 z powrotem na nieszyfrowany HTTP. Domeny zg\u0142oszone na list\u0119 <em>HSTS preload<\/em> s\u0105 wymuszane na HTTPS ju\u017c przy pierwszym po\u0142\u0105czeniu.<\/p>\n<h2>HTTP\/1.1 vs HTTP\/2 vs HTTP\/3 (QUIC)<\/h2>\n<p>Sama logika HTTP (metody, kody, nag\u0142\u00f3wki) jest sta\u0142a, ale spos\u00f3b przesy\u0142ania danych zmienia\u0142 si\u0119 przez lata:<\/p>\n<ul>\n<li><strong>HTTP\/1.1<\/strong> \u2014 protok\u00f3\u0142 tekstowy z trwa\u0142ymi po\u0142\u0105czeniami (<em>keep-alive<\/em>) i nag\u0142\u00f3wkiem <code>Host<\/code> (wiele domen na jednym IP). Ma problem <em>head-of-line blocking<\/em>: zaleg\u0142e \u017c\u0105danie blokuje kolejne. Przegl\u0105darki obchodz\u0105 to, otwieraj\u0105c kilka r\u00f3wnoleg\u0142ych po\u0142\u0105cze\u0144 TCP do serwera.<\/li>\n<li><strong>HTTP\/2<\/strong> \u2014 binarny zapis ramek, multipleksowanie (wiele strumieni w jednym po\u0142\u0105czeniu TCP) i kompresja nag\u0142\u00f3wk\u00f3w (<code>HPACK<\/code>). Znosi blokowanie na poziomie HTTP, ale utrata pakietu w TCP wci\u0105\u017c wstrzymuje wszystkie strumienie (blokowanie na poziomie transportu).<\/li>\n<li><strong>HTTP\/3<\/strong> \u2014 dzia\u0142a nad <code>QUIC<\/code> (transport oparty na UDP z wbudowanym TLS 1.3). Strumienie s\u0105 niezale\u017cne, wi\u0119c znika blokowanie na poziomie transportu. Uzgodnienie po\u0142\u0105czenia i szyfrowania mie\u015bci si\u0119 w jednym handshake (szybszy start), a <em>connection migration<\/em> utrzymuje sesj\u0119 przy zmianie sieci (np. Wi-Fi \u2192 LTE). HTTP\/3 jest zawsze szyfrowany.<\/li>\n<\/ul>\n<h2>Dlaczego HTTP\/HTTPS s\u0105 istotne dla bezpiecze\u0144stwa i monitoringu sieci?<\/h2>\n<p>HTTP\/HTTPS to dzi\u015b najcz\u0119stszy ruch aplikacyjny w sieci. To dlatego jest zarazem g\u0142\u00f3wnym celem atak\u00f3w i wa\u017cnym \u017ar\u00f3d\u0142em danych (telemetrii) dla zespo\u0142\u00f3w <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/soc-security-operations-center\">SOC<\/a> oraz system\u00f3w <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/ndr-network-detection-and-response\">NDR<\/a>\/IDS.<\/p>\n<ul>\n<li><strong>Powierzchnia ataku<\/strong> \u2014 wstrzykni\u0119cia (<a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/sql-injection-sqli\">SQLi<\/a>, <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/xss-cross-site-scripting\">XSS<\/a>), nadu\u017cycia <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/api\">API<\/a>, web shelle i ataki na warstw\u0119 aplikacji id\u0105 przez HTTP. Nieszyfrowany HTTP pozwala pods\u0142ucha\u0107 dane logowania i ciasteczka sesji oraz podmieni\u0107 tre\u015b\u0107 w locie.<\/li>\n<li><strong>Widoczno\u015b\u0107 a szyfrowanie<\/strong> \u2014 HTTPS chroni u\u017cytkownika, ale ogranicza wgl\u0105d w tre\u015b\u0107 dla monitoringu. Do wykrywania zagro\u017ce\u0144 u\u017cywa si\u0119 wi\u0119c metadanych warstwy 4, analizy pola <code>SNI<\/code> i certyfikat\u00f3w, odcisk\u00f3w handshake (np. <code>JA3<\/code>\/<code>JA4<\/code>), log\u00f3w proxy oraz \u2014 tam gdzie to dozwolone i kontrolowane \u2014 deszyfracji TLS na bramie.<\/li>\n<li><strong>Wykrywanie anomalii<\/strong> \u2014 nietypowe nag\u0142\u00f3wki <code>User-Agent<\/code>, podejrzane domeny w <code>SNI<\/code>, samopodpisane certyfikaty, \u0142\u0105czno\u015b\u0107 <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/c2-cc-command-and-control\">C2<\/a> (<a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/beaconing\">beaconing<\/a>) ukryta w HTTPS, masowe kody <code>4xx<\/code>\/<code>5xx<\/code> czy nag\u0142y skok ruchu na porcie <code>443<\/code> to typowe sygna\u0142y dla NDR.<\/li>\n<li><strong>Higiena konfiguracji<\/strong> \u2014 wymuszanie HTTPS (przekierowania, HSTS), wy\u0142\u0105czanie starych wersji TLS i s\u0142abych szyfr\u00f3w, poprawne certyfikaty oraz pilnowanie ich daty wyga\u015bni\u0119cia ograniczaj\u0105 ryzyko downgrade i przej\u0119cia sesji.<\/li>\n<\/ul>\n<h2>Dowiedz si\u0119 wi\u0119cej<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.sycope.com\/pl\/post\/arp-spoofing-jak-wykryc-atak-man-in-the-middle-i-zatruwanie-arp-w-sieci-lan\">ARP Spoofing \u2013 jak wykry\u0107 atak Man-in-the-Middle i zatruwanie ARP w sieci LAN<\/a> \u2014 ARP spoofing mo\u017ce przechwytywa\u0107 ruch HTTP i obni\u017ca\u0107 bezpiecze\u0144stwo sesji HTTPS.<\/li>\n<li><a href=\"https:\/\/www.sycope.com\/pl\/post\/monitoring-sieci-i-network-visibility-analiza-ruchu-sieciowego-jako-podstawa-visibility-cybersecurity\">Monitoring sieci i network visibility \u2013 analiza ruchu sieciowego jako podstawa visibility cybersecurity<\/a> \u2014 Monitoring sieci pomaga wykrywa\u0107 ruch HTTP i ocenia\u0107 jako\u015b\u0107 zabezpiecze\u0144 HTTPS.<\/li>\n<li><a href=\"https:\/\/www.sycope.com\/pl\/post\/czym-jest-netflow-i-jak-wykorzystuje-sie-go-w-praktyce\">Czym jest NetFlow i jak ten protok\u00f3\u0142 jest wykorzystywany w praktyce?<\/a> \u2014 <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/netflow\">NetFlow<\/a> pokazuje przep\u0142ywy, tak\u017ce te z ruchu HTTP i HTTPS.<\/li>\n<li><a href=\"https:\/\/www.sycope.com\/pl\/post\/podatnosc-idor-jak-wykryc-atak-na-aplikacje-webowe-przez-analize-ruchu-http\">Podatno\u015b\u0107 IDOR \u2013 jak wykry\u0107 atak na aplikacje webowe przez analiz\u0119 ruchu HTTP<\/a> \u2014 IDOR dotyczy aplikacji webowych, gdzie \u017c\u0105dania HTTP ujawniaj\u0105 b\u0142\u0119dy dost\u0119pu.<\/li>\n<\/ul>\n","protected":false},"featured_media":0,"template":"","class_list":["post-4769","dictionary-item","type-dictionary-item","status-publish","hentry"],"acf":{"tytul":"HTTP \/ HTTPS","ikona":"","krotki_opis":"Protok\u00f3\u0142, kt\u00f3rym przegl\u0105darka pobiera zasoby WWW w modelu \u017c\u0105danie\u2013odpowied\u017a (port 80). HTTPS to ten sam protok\u00f3\u0142 w szyfrowanym tunelu TLS (port 443): poufno\u015b\u0107, integralno\u015b\u0107 i to\u017csamo\u015b\u0107 serwera."},"_links":{"self":[{"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/dictionary-item\/4769","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/dictionary-item"}],"about":[{"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/types\/dictionary-item"}],"wp:attachment":[{"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/media?parent=4769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}