HTTP

Protokół Przesyłania Danych Hipertekstowych (Hypertext Transfer Protocol, HTTP) to protokół warstwy aplikacji, odpowiedzialny za transmisję dokumentów hipermedialnych, jak np. HTML. Został stworzony do komunikacji pomiędzy przeglądarkami, a serwerami webowymi, ale może być używany również w innych celach. HTTP opiera się na klasycznym modelu klient-serwer, gdzie klient inicjuje połączenie poprzez wysłanie żądania, następnie czeka na odpowiedź. HTTP jest protokołem bezstanowym, co oznacza, że serwer nie przechowuje żadnych danych (stanów) pomiędzy oboma żądaniami. Mimo, że często opiera się na warstwie TCP/IP, może być używany także na godnej zaufania warstwie transportowej, tj. protokół, który nie traci po cichu komunikatów, jak ma to miejsce w przypadku UDP. RUDP, wiarygodna aktualizacja UDP, może stanowić odpowiednią alternatywę.

Samouczki

Poprzez samouczki i instrukcje ucz się, jak używać HTTP.

HTTP - wiadomości ogólne
Podstawowe cechy protokołu klient-serwer: co robi i do czego w założeniu służy.
Cache HTTP
Buforowanie (caching) jest bardzo ważne z punktu widzenia szybkości działania stron WWW. Ten artykuł opisuje różne metody buforowania i jak używać nagłówków HTTP, by ten proces kontrolować.
Ciasteczka HTTP
Jak działają ciasteczka (cookies) jest określone w RFC 6265. Podczas obsługi żądania HTTP, serwer może wysłać nagłówek HTTP Set-Cookie z odpowiedzią. Następnie klient zwraca wartość ciasteczka z każdym żądaniem do tego samego serwera w formie nagłówka żądania Cookie. Ciasteczko może być również ustawione na wygasające wraz z nadejściem ustalonej daty lub ograniczone do konkretnej domeny i ścieżki.
Cross-Origin Resource Sharing (CORS)
Żądania HTTP między stronami (cross-site) to żądania HTTP z zasobów pochodzących z innej domeny, niż domena zasobu zgłaszającego żądanie. Przykładowo strona HTML z Domeny A (http://domaina.example/) żąda otrzymania obrazka z Domeny B (http://domainb.foo/image.jpg) poprzez element img. Współcześnie strony WWW powszechnie ładują zasoby między stronami, m. in. arkusze stylów CSS, obrazki, skrypty i inne zasoby. CORS pozwala twórcom stron na kontrolowanie jak ich strona WWW zachowuje się w obliczu żądań typu cross-site.
Rozwój HTTP
Zwięzły opis zmian pomiędzy wczesnymi wersjami HTTP, a współczesnym HTTP/2.
Wskazówki dot. bezpieczeństwa WWW od Mozilli
Zbiór wskazówek mających na celu pomoc zespołom operacyjnym w tworzeniu bezpiecznych aplikacji WWW.
Komunikaty HTTP
Opisuje typy i struktury różnych rodzajów komunikatów HTTP/1.x oraz HTTP/2.
Typowa sesja HTTP
Pokazuje i wyjaśnia przebieg typowej sesji HTTP.
Zarządzanie połączeniami w HTTP/1.x
Opisuje trzy modele zarządzania połączeniami, które są dostępne w HTTP/1.x, ich mocne i słabe strony.

Referencje

Przeszukaj szczegółową dokumentację referencyjną HTTP.

Nagłówki HTTP
Nagłówki wiadomości HTTP są używane do opisu lub zachowania serweru lub klienta. Customowe, własne nagłówki mogą być dodawane przy zastosowaniu prefiksu X-; pozostałe w rejestrze IANA, których oryginalna treść została zdefiniowana w RFC 4229. IANA również utrzymuje rejestr zaproponowanych, nowych nagłówków wiadomości HTTP.
Metody żądań HTTP
Różne operacje, które mogą zostać wykonane z HTTP: GET, POST, i również mniej znane żądania, jak OPTIONS, DELETE czy TRACE.
Kody Odpowiedzi Statusu HTTP
Kody odpowiedzi HTTP wskazują, czy określone żądanie HTTP zakończyło się powodzeniem. Odpowiedzi są grupowane w pięciu klasach: odpowiedzi informacyjne, odpowiedzi powodzenia, przekierowania, błędy po stronie klienta i błędy po stronie serwera.
Dyrektywy CSP
Nagłówki odpowiedzi Content-Security-Policy pozwalają administratorom stron WWW kontrolować jakie zasoby agent użytkownika może ładować na podanej stronie. Poza paroma wyjątkami, wytyczne przeważnie zawierają specyfikację originów serwera i zakończenia skryptów.

Narzędzia i zasoby

Pomocne narzędzia i zasoby dla lepszego zrozumienia i debugowania HTTP.

Firefox Developer Tools
Monitor sieci
Mozilla Observatory

Projekt stworzony po to, by pomagać deweloperom, administratorom systemów i specjalistom ds. bezpieczeństwa w bezpiecznej i solidnej konfiguracji ich stron.

RedBot
Narzędzia do sprawdzania Twoich nagłówków związanych z cache'ami.
Jak działają przeglądarki
Bardzo kompleksowy artykuł dot. wnętrza przeglądarek i przepływu żądań poprzez zastosowanie protokołu HTTP. Każdy tworca stron MUSI to przeczytać.