Die Beschreibung des Inhaltstyps ist die Typanordnung der HTTP-Anforderungsheader_HTML/Xhtml_Webseitenproduktion

WBOY
Freigeben: 2016-05-16 16:40:05
Original
1421 Leute haben es durchsucht

Um den Inhaltstyp zu lernen, müssen Sie im Voraus wissen, was er ist und wofür er verwendet wird.

Das HTTP-Protokoll (RFC2616) verwendet das Anforderungs-/Antwortmodell. Der Client sendet eine Anfrage an den Server. Der Anfrageheader enthält die Anfragemethode, den URI, die Protokollversion und eine MIME-ähnliche Nachrichtenstruktur mit Anfragemodifikatoren, Clientinformationen und Inhalt. Der Server antwortet mit einer Statuszeile, die die Nachrichtenprotokollversion, den Erfolgs- oder Fehlercode sowie Serverinformationen, Entitätsmetainformationen und möglicherweise Entitätsinhalt enthält.

Normalerweise besteht eine HTTP-Nachricht aus einer Startzeile, einem oder mehreren Header-Feldern, einer Leerzeile, die nur die Header-Felder beendet, und einem optionalen Nachrichtentext. Das HTTP-Header-Feld besteht aus vier Teilen: allgemeiner Header, Anforderungsheader, Antwortheader und Entitätsheader. Jedes Header-Feld besteht aus einem Domänennamen, einem Doppelpunkt (:) und einem Domänenwert. Bei Domänennamen wird die Groß-/Kleinschreibung nicht beachtet, bevor der Feldwert auf mehrere Zeilen erweitert werden kann, wobei am Anfang jeder Zeile mindestens ein Leerzeichen oder Tabulatorzeichen verwendet werden kann.

Sowohl Anforderungsnachrichten als auch Antwortnachrichten können Entitätsinformationen enthalten. Entitätsinformationen bestehen im Allgemeinen aus Entitätsheaderfeldern und Entitäten. Das Entitätsheaderfeld enthält Originalinformationen über die Entität. Der Entitätsheader enthält Allow, Content-Base, Content-Encoding, Content-Language, Content-Length, Content-Location, Content-MD5, Content-Range, Content-Type und Etag und Expires, Last-Modified, Erweiterungsheader.
Content-Type ist ein sehr wichtiger Inhalt in der zurückgegebenen Nachricht, der angibt, zu welchem ​​MIME-Typ das nachfolgende Dokument gehört. Inhaltstyp: [Typ]/[Subtyp]; Parameter. Am gebräuchlichsten ist beispielsweise text/html, was bedeutet, dass der zurückgegebene Inhalt vom Typ Text ist und dieser Text im HTML-Format vorliegt. Im Prinzip entscheidet der Browser basierend auf dem Inhaltstyp, wie der Inhalt des zurückgegebenen Nachrichtentexts angezeigt wird.

Typ hat die folgende Form

Text: Wird für die standardisierte Darstellung von Textinformationen verwendet und kann in mehreren Zeichensätzen und/oder in mehreren Formaten vorliegen
Mehrteilig: Wird verwendet, um mehrere Teile des Nachrichtentexts zu einer Nachricht zu verbinden.

Anwendung: Wird zur Übertragung von Anwendungsdaten oder Binärdaten verwendet >Nachricht: wird zum Verpacken einer E-Mail-Nachricht verwendet;

Bild: wird zum Übertragen statischer Bilddaten verwendet;

Audio: wird zum Übertragen von Audio- oder Tondaten verwendet; : Wird zur Übertragung dynamischer Bilddaten verwendet, bei denen es sich um ein zusammen mit Audio bearbeitetes Videodatenformat handeln kann.

Untertyp wird verwendet, um die detaillierte Form des Typs anzugeben. Der Satz von Inhaltstyp-/Subtyp-Paaren und den zugehörigen Parametern wird mit der Zeit wachsen. Um sicherzustellen, dass diese Werte ordnungsgemäß und öffentlich entwickelt werden, nutzt MIME die Internet Assigned Numbers Authority (IANA) als zentralen Registrierungsmechanismus zur Verwaltung dieser Werte.

Parameter kann zur Angabe zusätzlicher Informationen verwendet werden. In einigen Fällen handelt es sich um den Zeichensatzparameter, der zur Angabe von Textkodierungsmethoden wie text/plain und text/htm verwendet wird. MIME legt einen Standard-Subtyp basierend auf dem Typ fest. Wenn der Client den Subtyp der Nachricht nicht bestimmen kann, wird die Nachricht als Standard-Subtyp für die Verarbeitung behandelt. Text ist standardmäßig text/plain, Anwendung standardmäßig application/octet-stream und Multipart wird standardmäßig als multipart/mixed behandelt. Wenn beim IE6-Browser der Typ im Inhaltstyp nicht mit dem tatsächlichen Nachrichtentexttyp übereinstimmt, wird der tatsächliche Typ anhand des Typs im Inhalt analysiert. Er kann für gängige Bildformate wie JPG und GIF erkannt werden unabhängig davon, was in Content-Type geschrieben steht.
Wenn der Inhaltstyp einen Typ angibt, den der Browser direkt öffnen kann, öffnet der Browser seinen Inhalt direkt und zeigt ihn an. Wenn es sich um einen Typ handelt, der mit anderen Anwendungen verknüpft ist, muss die Registrierung durchsucht werden. Wenn bei dieser Art der Registrierung das direkte Öffnen ohne Aufforderung zulässig ist, wird die zugehörige Anwendung direkt aufgerufen, um die Datei zu öffnen. Wenn das direkte Öffnen jedoch nicht zulässig ist, wird gefragt, ob die Datei geöffnet werden soll. Bei Typen, die keiner Anwendung zugeordnet sind, weiß der IE-Browser nicht, wie er sie öffnen soll. Zu diesem Zeitpunkt behandelt IE6 sie als XML und versucht, sie zu öffnen.


Wenn Sie Dateien herunterladen möchten, können Sie diese zum http-Header hinzufügen:


fprintf(file, "Content-Disposition:attachment; filename="%s „rn“, fileName);
Nach dem Testen können Dateien, die ursprünglich auf Webseiten wie HTML, PDF, GIF usw. geöffnet wurden, normal heruntergeladen werden.
'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',
'me' => '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' => 'chemical/x-pdb',
'xyz' => 'chemical/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' => 'model/mesh',
'mesh' => 'model/mesh',
'silo' => 'model/mesh',
'wrl' => 'model/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/tab-separated-values',
'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' => 'video/mpeg',
'qt' => 'video/quicktime',
'mov' => 'video/quicktime',
'mxu' => 'video/vnd.mpegurl',
'avi' => 'video/x-msvideo',
'movie' => 'video/x-sgi-movie',
'ice' => 'x-conference/x-cooltalk',

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!