Maison > Article > interface Web > La description du type de contenu est la disposition des types de production des en-têtes de requête HTTP_HTML/Xhtml_Web.
Pour apprendre le type de contenu, vous devez savoir à l'avance de quoi il s'agit et à quoi il sert.
Le protocole HTTP (RFC2616) adopte le modèle requête/réponse. Le client envoie une requête au serveur. L'en-tête de la requête contient la méthode de requête, l'URI, la version du protocole et une structure de message de type MIME contenant des modificateurs de requête, des informations sur le client et du contenu. Le serveur répond avec une ligne d'état contenant la version du protocole de message, le code de réussite ou d'erreur ainsi que les informations sur le serveur, les métainformations de l'entité et éventuellement le contenu de l'entité.
Habituellement, un message HTTP se compose d'une ligne de début, d'un ou plusieurs champs d'en-tête, d'une ligne vide qui termine juste les champs d'en-tête et d'un corps de message facultatif. Le champ d'en-tête HTTP comprend quatre parties : en-tête général, en-tête de requête, en-tête de réponse et en-tête d'entité. Chaque champ d'en-tête se compose d'un nom de domaine, de deux points (:) et d'une valeur de domaine. Les noms de domaine ne sont pas sensibles à la casse. N'importe quel nombre d'espaces peut être ajouté avant que la valeur du champ puisse être étendue sur plusieurs lignes, en utilisant au moins un espace ou une tabulation au début de chaque ligne.
Les messages de demande et les messages de réponse peuvent contenir des informations sur l'entité. Les informations sur l'entité sont généralement constituées de champs d'en-tête d'entité et d'entités. Le champ d'en-tête d'entité contient des informations d'origine sur l'entité. L'en-tête d'entité comprend Allow, Content-Base, Content-Encoding, Content-Language, Content-Length, Content-Location, Content-MD5, Content-Range, Content-Type, Etag. et Expires, Last-Modified, extension-header.
Content-Type est un contenu très important dans le message renvoyé, indiquant à quel type MIME appartient le document suivant. Content-Type : paramètre [type]/[sous-type] ; Par exemple, le plus courant est text/html, ce qui signifie que le contenu renvoyé est de type texte et que ce texte est au format HTML. En principe, le navigateur décidera comment afficher le contenu du corps du message renvoyé en fonction du type de contenu.
le type a la forme suivante
Texte : utilisé pour la représentation standardisée des informations textuelles. Les messages texte peuvent être dans plusieurs jeux de caractères et/ou dans plusieurs formats
.
Multipart : utilisé pour connecter plusieurs parties du corps du message pour former un message. Ces parties peuvent être différents types de données ;
Application : utilisée pour transmettre des données d'application ou des données binaires ; >Message : utilisé pour emballer un message électronique ;
Image : utilisé pour transmettre des données d'image statiques
Audio : utilisé pour transmettre des données audio ou sonores
Vidéo ; : utilisé pour transmettre des données d'image dynamiques, qui peuvent être un format de données vidéo édité avec de l'audio.
sous-type est utilisé pour spécifier la forme détaillée du type. L’ensemble des paires type/sous-type de contenu et leurs paramètres associés augmenteront avec le temps. Pour garantir que ces valeurs sont développées de manière ordonnée et publique, MIME utilise l'Internet Assigned Numbers Authority (IANA) comme mécanisme d'enregistrement central pour gérer ces valeurs. Le paramètre
peut être utilisé pour spécifier des informations supplémentaires. Dans la plupart des cas, il s'agit du paramètre charset utilisé pour spécifier les méthodes de codage de texte telles que text/plain et text/htm. MIME définit un sous-type par défaut en fonction du type Lorsque le client ne peut pas déterminer le sous-type du message, le message est traité comme le sous-type par défaut pour le traitement. Le texte est par défaut text/plain, l'application est par défaut application/octet-stream et Multipart est traité comme multipart/mixed par défaut. Pour le navigateur IE6, si le type dans Content-Type est incohérent avec le type réel du corps du message, il analysera le type réel en fonction du type dans le contenu. Il peut être correct pour les formats d'image courants tels que JPG et GIF. indépendamment de ce qui est écrit dans Content-Type.
Si le Content-Type spécifie un type que le navigateur peut ouvrir directement, le navigateur ouvrira directement son contenu et l'affichera. S'il s'agit d'un type associé à d'autres applications, il est alors nécessaire de rechercher dans le registre. Concernant ce type d'inscription, s'il est permis de l'ouvrir directement sans demande, l'application associée sera directement appelée pour ouvrir le fichier, mais si elle n'est pas autorisée à s'ouvrir directement, il lui sera demandé si elle doit l'ouvrir. Pour les types qui ne sont associés à aucune application, le navigateur IE ne sait pas comment l'ouvrir. Pour le moment, IE6 le traitera comme XML et tentera de l'ouvrir.
Si vous souhaitez télécharger des fichiers, vous pouvez l'ajouter à l'en-tête http :
fprintf(file, "Content-Disposition:attachment; filename="%s " rn", fileName);
Après les tests, les fichiers initialement ouverts dans des pages Web telles que html, pdf, gif, etc. peuvent être téléchargés normalement.
'hqx' => 'application/mac-binhex40',
'cpt' => 'application/mac-compactpro',
'doc' => 'application/msword',
'bin' => 'application/octet-stream',
'dms' => 'application/octet-stream',
'lha' => 'application/octet-stream',
'lzh' => 'application/octet-stream',
'exe' => 'application/octet-stream',
'class' => 'application/octet -stream',
'so ' => 'application/octet-stream',
'dll' => 'application/octet-stream',
'oda' => 'application/ oda',
'pdf' => ' application/pdf',
'ai' => 'application/postscript',
'eps' => 'application/postscript',
'ps' => 'application/postscript',
'smi' => 'application/smil',
'smil' => 'application/smil',
'mif' => 'application/vnd.mif',
'xls' => 'application/vnd.ms-excel',
'ppt' => 'application/vnd.ms-powerpoint',
'wbxml' => 'application/vnd.wap.wbxml',
'wmlc' => 'application/vnd.wap.wmlc',
'wmlsc' => 'application/vnd.wap.wmlscriptc',
'bcpio' => 'application/x-bcpio',
'vcd' => 'application/x-cdlink',
'pgn' => 'application/x-chess-pgn',
'cpio' => 'application/x-cpio',
'csh' => 'application/x-csh',
'dcr' => 'application/x-director',
'dir' => 'application/x-director',
'dxr' => 'application/x-director',
'dvi' => 'application/x-dvi',
'spl' => 'application/x-futuresplash',
'gtar' => 'application/x-gtar',
'hdf' => 'application/x-hdf',
'js' => 'application/x-javascript',
'skp' => 'application/x-koan',
'skd' => 'application/x-koan',
'skt' => 'application/x-koan',
'skm' => 'application/x-koan',
'latex' => 'application/x-latex',
'nc' => 'application/x-netcdf',
'cdf' => 'application/x-netcdf',
'sh' => 'application/x-sh',
'shar' => 'application/x-shar',
'swf' => 'application/x-shockwave-flash',
'sit' => 'application/x-stuffit',
'sv4cpio' => 'application/x-sv4cpio',
'sv4crc' => 'application/x-sv4crc',
'tar' => 'application/x-tar',
'tcl' => 'application/x-tcl',
'tex' => 'application/x-tex',
'texinfo' => 'application/x-texinfo',
'texi' => 'application/x-texinfo',
't' => 'application/x-troff',
'tr' => 'application/x-troff',
'roff' => 'application/x-troff',
'man' => 'application/x-troff-man',
'moi' => 'application/x-troff-me',
'ms' => 'application/x-troff-ms',
'ustar' => 'application/x-ustar',
'src' => 'application/x-wais-source',
'xhtml' => 'application/xhtml xml',
'xht' => 'application/xhtml xml',
'zip' => 'application/zip',
'au' => 'audio/basic',
'snd' => 'audio/basic',
'mid' => 'audio/midi',
'midi' => 'audio/midi',
'kar' => 'audio/midi',
'mpga' => 'audio/mpeg',
'mp2' => 'audio/mpeg',
'mp3' => 'audio/mpeg',
'aif' => 'audio/x-aiff',
'aiff' => 'audio/x-aiff',
'aifc' => 'audio/x-aiff',
'm3u' => 'audio/x-mpegurl',
'ram' => 'audio/x-pn-realaudio',
'rm' => 'audio/x-pn-realaudio',
'rpm' => 'audio/x-pn-realaudio-plugin',
'ra' => 'audio/x-realaudio',
'wav' => 'audio/x-wav',
'pdb' => 'chimique/x-pdb',
'xyz' => 'chimique/x-xyz',
'bmp' => 'image/bmp',
'gif' => 'image/gif',
'ief' => 'image/ief',
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpeg',
'jpe' => 'image/jpeg',
'png' => 'image/png',
'tiff' => 'image/tiff',
'tif' => 'image/tiff',
'djvu' => 'image/vnd.djvu',
'djv' => 'image/vnd.djvu',
'wbmp' => 'image/vnd.wap.wbmp',
'ras' => 'image/x-cmu-raster',
'pnm' => 'image/x-portable-anymap',
'pbm' => 'image/x-portable-bitmap',
'pgm' => 'image/x-portable-graymap',
'ppm' => 'image/x-portable-pixmap',
'rgb' => 'image/x-rgb',
'xbm' => 'image/x-xbitmap',
'xpm' => 'image/x-xpixmap',
'xwd' => 'image/x-xwindowdump',
'igs' => 'model/iges',
'iges' => 'model/iges',
'msh' => 'modèle/mail',
'mesh' => 'modèle/maille',
'silo' => 'modèle/mesh',
'wrl' => 'modèle/vrml',
'vrml' => 'model/vrml',
'css' => 'text/css',
'html' => 'text/html',
'htm' => 'text/html',
'asc' => 'text/plain',
'txt' => 'text/plain',
'rtx' => 'text/richtext',
'rtf' => 'text/rtf',
'sgml' => 'text/sgml',
'sgm' => 'text/sgml',
'tsv' => 'text/valeurs séparées par des tabulations',
'wml' => 'text/vnd.wap.wml',
'wmls' => 'text/vnd.wap.wmlscript',
'etx' => 'text/x-setext',
'xsl' => 'text/xml',
'xml' => 'text/xml',
'mpeg' => 'video/mpeg',
'mpg' => 'video/mpeg',
'mpe' => 'vidéo/mpeg',
'qt' => 'video/quicktime',
'mov' => 'video/quicktime',
'mxu' => 'video/vnd.mpegurl',
'avi' => 'video/x-msvideo',
'movie' => 'video/x-sgi-movie',
'ice' => 'x-conférence/x-cooltalk',