Toto je starší verze dokumentu!


Chyná hlavička HTTP Content-Type

Otevřená data se vystavují na webu a jsou přístupná typicky přes protokol HTTP(S). Ten má svá pravidla, která je pro správné fungování webu nutné dodržovat. Jedno z pravidel se týká indikace toho, jaký je formát zdroje (stránky, souboru) je přenášen. Webový server tedy v odpovědi na požadavek klienta na stažení souboru posílá nejen obsah samotný, ale i metainformace, tzv. HTTP hlavičky. Ty si můžeme zobrazit pomocí standardního nástroje curl: curl -I <URL>, nebo ve vývojářské konzoli běžného webového prohlížeče. V jedné z nejdůležitějších hlaviček server klientovi sděluje, v jakém formátu jsou přenášená data. Jedná se o HTTP hlavičku Content-Type a hodnotou v této hlavičce je tzv. Media Type, nebo také MIME Type, který například pro CSV soubory je text/csv. Je-li tato hlavička nastavena špatně, může dojít k chybné interpretaci přenášených dat. Hodnota v této hlavičce by tedy měla odpovídat jak přenášenému obsahu, tak také hodnotě uvedené v metadatech distribuce datové sady. Toto se týká každého zdroje na webu, v kontextu otevřených dat tedy zejména souborů s daty, datových schémat, podmínek užití a dokumentací datových sad.

Úplný seznam MIME typů spravuje IANA - Autorita pro přidělování čísel (identifikátorů) na Internetu.

Formát dat MIME-typ
CSV soubor text/csv
Schéma pro CSV dle CSV on the Web application/csvm+json
Schéma pro CSV dle Table Schema application/json
JSON soubor application/json
Schéma pro JSON soubor application/json
XML soubor s převážně strukturovaným obsahem application/xml
XML soubor s převážně textovým obsahem text/xml
Schéma pro XML dle XML Schema application/xml
RDF soubor v serializaci Turtle text/turtle
RDF soubor v serializaci TriG application/trig
RDF soubor v serializaci N-Triples application/n-triples
RDF soubor v serializaci N-Quads text/turtle
RDF soubor v serializaci JSON-LD application/ld+json
RDF soubor v serializaci RDF/XML application/rdf+xml

Zde uvádíme MIME typy, se kterými se nejčastěji setkáváme u chybně poskytovatných otevřených dat.

Formát dat MIME-typ
HTML stránka text/html
Proud osmic (bajtů) application/octet-stream

Je třeba nakonfigurovat webový server tak, aby soubory CSV poskytoval se správnou hlavičkou Content-Type: text/csv; charset=utf-8. Například pro webový server nginx je třeba použít v konfiguraci charset utf-8; a ujistit se, že v hodnotě charset-types je uvedeno text/csv.

  • špatná-praxe/http-content-type.1512139000.txt.gz
  • Poslední úprava: 2020/06/03 09:36
  • (upraveno mimo DokuWiki)