Чтобы изучить контент, вы должны заранее знать, что он и для чего он.
Протокол HTTP (RFC2616) принимает модель запроса/ответа. Клиент отправляет запрос на сервер, а заголовок запроса содержит запрошенный метод, URI, версию протокола и структуру сообщений, похожая на MIME, содержащую модификатор запроса, информацию клиента и контент. Сервер отвечает строкой состояния, а соответствующий контент включает в себя версию протокола сообщения, кодирование успеха или ошибки, а также информацию о сервере, мете -информацию объекта и возможное содержание объекта.
Обычно сообщение HTTP состоит из стартовой линии, одного или нескольких полей заголовка, пустой линии, которая заканчивается поле заголовка и дополнительным корпусом сообщений. Поле заголовка HTTP включает в себя четыре части: общий заголовок, заголовок запроса, заголовок ответа и заголовок объекта. Каждое поле заголовка состоит из трех частей: доменное имя, толстая кишка (:) и доменное значение. Доменные имена зависят от случая, любое количество космических символов может быть добавлено перед значением домена, а поля заголовка могут быть расширены до нескольких строк, используя хотя бы один символ пространства или вкладки в начале каждой строки.
Как сообщение запроса, так и сообщение ответа могут содержать информацию о объекте, которая обычно состоят из поля заголовка объекта и объекта. Поле заголовка объекта содержит оригинальную информацию о сущности. Заголовок объекта включает в себя разрешение, контент-основание, кодирование контента, контент-языковую, срок действия контента, расположение контента, контент-MD5, диапазон контента, тип контента, ETAG, истечение срока действия, последняя модифицированная и заголовок расширения.
Контент-тип является очень важным контентом в ответном сообщении, указывающем, какой тип MIME принадлежит последующему документу. Тип контента: [type]/[subtype]; параметр. Например, наиболее распространенным является текст/HTML, что означает, что возвращаемым контентом является тип текста, а текст находится в формате HTML. В принципе, браузер решит, как отобразить возвращаемый содержимое тела сообщений на основе типа контента.
Тип имеет следующую формуТекст: текстовая информация Для стандартизированного представления текстовое сообщение может быть из нескольких наборов символов и или в нескольких форматах;
Multipart: используется для подключения нескольких частей тела сообщения для формирования сообщения, и эти части могут быть разными типами данных;
Приложение: используется для передачи данных приложения или двоичных данных;
Сообщение: используется для обертывания сообщения электронной почты;
Изображение: используется для передачи данных статического изображения;
Аудио: используется для передачи аудио или аудиоданных;
Видео: используется для передачи динамических данных изображения, которые могут быть форматом видеодантеров, отредактированным с помощью аудио.
Подтип используется для указания подробной формы типа. Набор паров контента типа/подтипа и параметры, связанные с этим, будут расти с течением времени. Чтобы гарантировать, что эти значения разрабатываются в упорядоченном и общественном штате, MIME использует уполномоченные в Интернете Управление чисел (IANA) в качестве центрального механизма регистрации для управления этими значениями.
Параметр может использоваться для указания дополнительной информации, и в большей степени это параметр charset, используемый для указания методов кодирования текста, таких как текст/обычный и текст/HTM. MIME установил подтип по умолчанию на основе типа. Когда клиент не может определить подтип сообщения, сообщение рассматривается как подтип по умолчанию для обработки. Текст является текстом/простой по умолчанию, приложение по умолчанию-это приложение/октет-поток, а Multipart рассматривается как Multipart/Mixeed по умолчанию. Для браузеров IE6, если тип типа контента не согласован с фактическим типом телосложения сообщений, он будет анализировать, какой тип должен основываться на типе содержания, и может правильно идентифицировать общие форматы изображений, такие как JPG и GIF, независимо от того, что написано в типе контента.
Если тип, указанный в типе контента, является типом, который браузер может открыть напрямую, то браузер откроет его контент и отобразит его. Если это тип, связанный с другими приложениями, вам необходимо найти статус регистрации этого типа в реестре. Если ему разрешено открываться непосредственно, не спрашивая, связанное приложение будет вызвано для открытия файла, но если его не разрешается открывать напрямую, вы спросите, открыт ли он. Для типов, которые не связаны с каким -либо приложением, браузер, то есть не знает, как его следует открывать, и IE6 попытается открыть его как XML.
Если вы хотите реализовать загрузку файла, вы можете добавить его в заголовке http:FPRINTF (файл, контент-дискуссия: вложение; файл имени =/%s//r/n, имя файла);
После тестирования HTML, PDF, GIF и другие файлы, открытые на веб -страницах, могут быть загружены нормально.
'hqx' => 'Application/Mac-BinHex40',
'cpt' => 'Application/mac-compactpro',
'doc' => 'application/msword',
'bin' => 'приложение/октет-поток',
'dms' => 'приложение/октет-поток',
'lha' => 'Приложение/октет-поток',
'lzh' => 'приложение/октябрь
'exe' => 'приложение/октет-поток',
'class' => 'приложение/октябрь', ',
'SO' => 'Приложение/ОКТЕТ-поток',
'dll' => 'Приложение/октет-поток',
'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-toff-man',
'me' => 'Application/x-troff-me',
'ms' => 'Application/x-troff-ms',
'usstar' => 'application/x-usstar',
'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/spearted-values',
'wml' => 'text/vnd.wap.wml',
'wmls' => 'text/vnd.wap.wmlscript',
'etx' => 'text/x-setext',
'xsl' => 'text/xml',
'xml' => 'text/xml',
'mpeg' => 'видео/mpeg',
'mpg' => 'видео/mpeg',
'mpe' => 'видео/mpeg',
'qt' => 'видео/Quicktime',
'MOV' => 'видео/QuickTime',
'mxu' => 'video/vnd.mpegurl',
'avi' => 'video/x-msvideo',
'movie' => 'видео/x-sgi-movie',
'Ice' => 'x-conference/x-cooltalk',