Muszę sprawdzić Content-Type
wartość nagłówka przed przekazaniem go do żądania HTTP.
Czy istnieje konkretna lista wszystkich możliwych wartości Content-Type
?
W przeciwnym razie, czy istnieje sposób na sprawdzenie poprawności typu zawartości przed użyciem go w żądaniu HTTP?
http
http-headers
httprequest
content-type
Niesamowite
źródło
źródło
Odpowiedzi:
Każdy rodzaj zawartości można znaleźć tutaj: http://www.iana.org/assignments/media-types/media-types.xhtml
Najpopularniejsze typy to:
Wpisz aplikację
Wpisz dźwięk
Wpisz obraz
Wpisz wieloczęściowy
Wpisz tekst
Wpisz wideo
Wpisz vnd:
źródło
Zgodnie z definicją w RFC 1341 :
I lista znanych typów MIME, które mogą za nim podążać (lub, jak zauważa Joe, źródło IANA ).
Jak widać, lista jest zbyt duża, aby można ją było zweryfikować w stosunku do wszystkich. Możesz sprawdzić poprawność względem ogólnego formatu i
type
atrybutu, aby upewnić się, że jest poprawny (zestaw opcji jest mały) i po prostu założyć, że to, co następuje, jest poprawne (i oczywiście wychwyć wszelkie wyjątki, które możesz napotkać, gdy go umieścisz do faktycznego użycia).Zwróć także uwagę na powyższy komentarz:
Zauważysz, że wiele żądań / odpowiedzi HTTP zawiera
X-
pewnego rodzaju nagłówki, które są samodzielnie zdefiniowane, pamiętaj o tym podczas sprawdzania poprawności typów.źródło
Chciałbym objąć podzbiór możliwych wartości „Typ zawartości”, wydaje się, że pytanie koncentruje się na identyfikacji znanych typów treści.
@Jeroen RFC 1341 referencyjna jest super, ale na liście dość wyczerpujący IANA utrzymuje stronę internetową oficjalnie zarejestrowanych typów nośników tutaj .
źródło
Jeśli używasz Jaxrs lub innego, wtedy przed wysłaniem żądania będzie klasa o nazwie mediatype.User przechwytująca i porównaj ją z tym.
źródło