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.
Seznam nejpoužívanějších datových typů a odpovídajících MIME typů
Ú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 |
Seznam nejčastějších chyně používaných MIME typů
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 |
Řešení
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
.