Все о хостинге
Все о хостинге, как выбрать хостинг,
полезные статьи и советы.
 
 
Что такое выделенный IP адрес и зачем он нужен на хостинге... далее
Краткий обзор технологий FTP SSH CGI SSI... далее
Введение в управление базами данных MySQL... далее
Что такое SSL и зачем он нужен.... далее
Что такое HTML... далее
Как анализировать логи apache и получать из них необходимые данные.. далее
Меню :


Статьи :

Рассмотрим примеры. Допустим, пользователь обратился к документу, которого не существует на сервере. Такое может произойти по разным причинам: где-то осталась ссылка на уже удаленный Вами документ, кто-то дал пользователю неправильную ссылку или пользователь допустил ошибку, когда набирал адрес страницы в браузере. В этом случае сервер выдаст ошибку 404 (Not Found) и текст вида "The requested URL такой-то was not found on this server". Можно выдать вместо этой строчки документ в дизайне Вашего сервера, в котором написать что-то типа "Произошла ошибка - запрошенный документ не найден. Попробуйте уточнить адрес, воспользоваться поисковой системой или начать просмотр сайта с первой страницы". Такое сообщение пользователь поймет гораздо лучше. Более того, пожалуй, выдача дружественных, понятных любому посетителю сообщений является хорошим тоном.

Итак, создаем документ, который будем показывать пользователю в случае возникновения ошибки 404. Назовем файл missing.html, напишем туда все те добрые слова, которыми мы хотим успокоить пользователя, и поместим этот файл в веб-пространство. Допустим, это файл будет доступен как http://Ваш_Сервер/missing.html. В файл .htaccess помещаем такую строчку:

ErrorDocument 404 /missing.html

Все! Теперь при возникновении ошибки 404 пользователь увидит именно Ваш файл. Еще можно скриптом или с помощью SSI вставить в выдаваемый документ какую-нибудь служебную информацию, которую пользователь должен будет привести, если решит обратиться за комментариями к Вам по e-mail.

Таким образом можно обработать практически все негативные коды возврата. Конечно, можно обработать и позитивные коды, но смысл этого не до конца ясен, равно как непонятно в какой ситуации это может пригодиться :). Стоит упомянуть об одной особенности браузера MS Internet Explorer версии 5. Если файл missing.html (так мы его назвали в нашем случае) будет иметь размер менее 1Кб, IE5 покажет пользователю не missing.html, а свое собственное сообщение об ошибке 404. Более подробно об обработке ошибок можно прочитать в документации по Apache на странице "Custom error responses". AddType - переопределение типов данных и кодировок

У многих пользователей интернет, когда они начинают чуть глубже изучать технологии, возникает вопрос типа : "А как браузер узнает, какие документы надо показывать как html, какие как текст и как сделать так, чтобы определенные документы браузер не показывал сразу, а выдавал меню, позволяющее сохранить файл на диск?".

Для этого применяются так называемые MIME types. Каждому типу данных, которые обрабатываются веб-сервером, можно задать определенный тип. Этот тип описывается набором символов, отражающим тип используемых данных. Вот, например, таблица типов нескольких наиболее часто используемых видов данных:

Описание данных Расширение файлов MIME type
Картинки gif gif image/gif

Картинки jpeg jpeg jpg jpe image/jpeg
VRML-файлы wrl vrml model/vrml
HTML-документ html htm text/html
Обычный текст asc txt text/plain
Архив ZIP zip application/zip
Файл MS Word doc application/msword
Файл MS Excel xls application/vnd.ms-excel
Файл MS Power Point ppt application/vnd.ms-powerpoint
Файл Adobe Acrobat pdf application/pdf
Flash-документ swf application/x-shockwave-flash

Работает это так: веб-сервер знает, что, например, файлам с расширением .html соответствует тип text/html. В ответ на пришедший запрос html-файла сервер среди прочих http-заголовков возвращает поле Content-type, в котором и указывается тип данных для текущего документа. Пример:
# telnet host.ru 80
Connected to host.ru.
HEAD /index.html HTTP/1.1
Host: host.ru

HTTP/1.1 200 OK
Date: Wed, 18 Jul 2001 14:51:10 GMT
Last-Modified: Mon, 02 Jul 2001 07:41:37 GMT
Connection: close
Content-Type: text/html

Браузер, получив такой заголовок, знает, что документ с типом данных text/html это не что иное, как обычная веб-страница на языке HTML. Зная это, браузер обрабатывает принятый документ как HTML и показывает его пользователю именно с учетом этого. А вот если бы тип данных был, например, application/zip, браузер понял бы, что это ZIP-архив, который пользователю нужно предложить сохранить на диск.
То есть, браузеры имеют представление о том, каким образом нужно обрабатывать конкретные типы данных. Естественно, набор типов данных, известный браузерам, ограничен. Обусловлено это тем, что со временем появляются все новые и новые приложения для интернета, которые зачастую работают с новыми типами данных, которых раньше просто не существовало. Например, еще лет пять назад не было типа audio/mpeg, которому соответствуют музыкальные файлы в формате mp3. Появился новый тип и в более поздних версиях браузеров он по умолчанию известен. Кстати, добавить новый тип в браузер можно и вручную.

Хорошо, с выдачей типов и обработкой их браузерами мы разобрались. А теперь появился вопрос: как сказать серверу о том, что нужно выдавать такой тип данных, который он в данный момент не знает? Ведь хоть Apache по умолчанию и хранит описания более чем трехсот типов данных, но ведь появляются все новые и новые! Или вот еще задачка: как сделать так, чтобы файлы с расширением .ext показывались в браузерах посетителей как HTML-документы? Для этого и существует директива AddType, которую Вы можете использовать в файлах .htaccess.

Допустим, Вы хотите, чтобы файлам с расширением .ext соответствовал тип данных text/html. Для этого добавим в .htaccess такую строчку:

AddType "text/html" .ext

После того, как это будет сделано, Apache будет работать с той функциональностью, которой мы добивались.

Существует некий набор типов данных, который описывает большинство используемых в интернете форматов. Получить его можно на странице ftp://ftp.isi.edu/in-notes/iana/assignments/media-types.



Далее
Новости :
Горячие статьи:
Управление веб-сервером Apache с помощью механизма .htaccess

Полезно знать :