Jak słusznie zauważysz, nagłówki Accept są używane przez klientów HTTP do informowania serwera, jakie typy treści będą akceptowane. Serwer odeśle następnie odpowiedź, która będzie zawierać nagłówek Content-Type informujący klienta, jaki jest faktycznie typ treści zwracanej treści.
Jednak, jak być może zauważyłeś, żądania HTTP mogą również zawierać nagłówki Content-Type. Dlaczego? Pomyśl o żądaniach POST lub PUT . W przypadku tych typów żądań klient faktycznie wysyła wiązkę danych do serwera jako część żądania, a nagłówek Content-Type informuje serwer o tym, czym są dane (a tym samym określa, w jaki sposób serwer je przeanalizuje).
W szczególności w przypadku żądania POST wynikającego ze złożenia formularza HTML typ treści żądania (zwykle) będzie jednym ze standardowych typów zawartości formularza poniżej, określonych przez enctype
atrybut na <form>
znaczniku:
application/x-www-form-urlencoded
(domyślnie, starszy, prostszy, nieco mniejszy nakład na małe ilości prostego tekstu ASCII, brak obsługi przesyłania plików)
multipart/form-data
(nowszy, dodaje obsługę przesyłania plików, bardziej wydajny dla dużych ilości danych binarnych lub tekstu spoza ASCII)
Zaakceptuj to jak
Typ zawartości jest podobny
źródło
Jest to rozmowa żądanie-odpowiedź, więc klient
źródło
Zaakceptować
Typ zawartości
źródło