Набор инструментов для оптимизации и диагностики сетевых ресурсов

Очень полезный ресурс с набором сетевых утилит. Позволяет делать следующее:

Nslookup — преобразование IP адреса в имя компьютера или наоборот, а так же информация о домене

Ping — посылает эхо запрос на выбранный компьютер в сети. может использоваться для проверки линий коммуникаций, а так же доступности сетевых ресурсов

Traceroute — позволяет определить путь прохождения пакетов через сеть. показывает каждый узел через который проходит пакет до достижения конечного IP адреса

Whois — поиск информации об IP адресе или домене второго уровня

Domain Test
— проверка правильности настройки домена

Mail Relay — проверка на возможность использования почтового сервера в качестве пересыльщика почты (mail relay)

E_Mail Valid — проверка E_Mail адреса на доступность для получения почты

DNS Record — получение записей DNS сервера

Proxy — проверка прокси сервера на возможность анонимного использования

Avail.Services — -проверка сервера на возможность доступа к сервисам internet

IDR range — Расчет диапазона CIDR (бесклассовая междоменная маршрутизация)

IP Locate — определение географического расположения сервера (на основе данных whois)

IP Check — при подключении через прокси — попытка определения локального IP адреса

Client info — определение параметров клиента

Time of access — Определение времени доступа к серверу

HTTP header — получение http заголовка web cайта

SSL info -получение информации о сертификате ssl cайта

Site info — получение информации о web сервере

Site speed — Сравнительный анализ скорости загрузки сайтов.

Site link ext — извлечение ссылок с web сайта

Meta tags ext — извлечение meta тегов с web сайта

MAC — Company Id — Определение производителя оборудования по MAC адресу
(параметром может быть MAC адрес
[например:00-0C-F1-DD-14-21])

ISO Domains — Обозначения доменов первого уровня

Protocols — Содержит информацию о протоколах доступных в Internet

Services — Содержит информацию о сервисах доступных в Internet

Clients statistics — Содержит статистику, использования платформ, браузеров, разрешений экранов, цветов на клиентских рабочих станциях

Servers statistics — Содержит статистику, отображающую распределение различных классов операционных систем и веб-серверов, обеспечивающих функционирование сайтов Интернета

… И еще множество полезных инструментов тут

Читать далее

Таблица «безопасных» цветов для веб-мастера

Очень важно при веб-дизайне правильно передать задуманную цветовую гамму элементов дизайна. Известно, что разные типы мониторов воспроизводят цвета по разному.

Еще на передачу цветов влияет битность параметров режима видеокарты. Когда браузер не может верно показать какой-либо цвет, он создает нужных смешением несколько цветов.

В результате на своем экране может появиться совсем не то, что хотелось бы.

Существует таблица безопасных цветов, рекомендуемых для использования.

Любой из 216 цветов — «безопасной» палитры может быть использован для графики, текста и фонов. Эти цвета везде будут отображаться корректно.

В политре 32 сочетания по 6 оттенков красного, зеленого и синего. Эти градации — 00, 33, 66, 99, CC, FF.

Над каждым цветом есть его значение RGB (для создания цвета в графическом редакторе или в CSS).

FFFFCC FFFF99 FFFF66 FFFF33 FFFF00 CCCC00
           
 
FFCC66 FFCC00 FFCC33 CC9900 CC9933 996600
           
 
FF9900 FF9933 CC9966 CC6600 996633 663300
           
 
FFCC99 FF9966 FF6600 CC6633 993300 660000
           
 
FF6633 CC3300 FF3300 FF0000 CC0000 990000
           
 
FFCCCC FF9999 FF6666 FF3333 FF0033 CC0033
           
 
CC9999 CC6666 CC3333 993333 990033 330000
           
 
FF6699 FF3366 FF0066 CC3366 996666 663333
           
FF99CC FF3399 FF0099 CC0066 993366 660033
 
           
 
FF66CC FF00CC FF33CC CC6699 CC0099 990066
           
 
FFCCFF FF99FF FF66FF FF33FF FF00FF CC3399
           
 
CC99CC CC66CC CC00CC CC33CC 990099 993399
           
 
CC66FF CC33FF CC00FF 9900CC 996699 660066
           
 
CC99FF 9933CC 9933FF 9900FF 660099 663366
           
 
9966CC 9966FF 6600CC 6633CC 663399 330033
           
 
CCCCFF 9999FF 6633FF 6600FF 330099 330066
           
 
9999CC 6666FF 6666CC 666699 333399 333366
           
 
3333FF 3300FF 3300CC 3333CC 000099 000066
           
 
6699FF 3366FF 0000FF 0000CC 0033CC 000033
           
 
0066FF 0066CC 3366CC 0033FF 003399 003366
           
 
99CCFF 3399FF 0099FF 6699CC 336699 006699
           
 
66CCFF 33CCFF 00CCFF 3399CC 0099CC 003333
           
 
99CCCC 66CCCC 339999 669999 006666 336666
           
 
CCFFFF 99FFFF 66FFFF 33FFFF 00FFFF 00CCCC
           
 
99FFCC 66FFCC 33FFCC 00FFCC 33CCCC 009999
           
 
66CC99 33CC99 00CC99 339966 009966 006633
           
 
66FF99 33FF99 00FF99 33CC66 00CC66 009933
           
 
99FF99 66FF66 33FF66 00FF66 339933 006600
           
 
CCFFCC 99CC99 66CC66 669966 336633 003300
           
 
33FF33 00FF33 00FF00 00CC00 33CC33 00CC33
           
 
66FF00 66FF33 33FF00 33CC00 339900 009900
           
 
CCFF99 99FF66 66CC00 66CC33 669933 336600
           
 
99FF00 99FF33 99CC66 99CC00 99CC33 669900
           
 
CCFF66 CCFF00 CCFF33 CCCC99 666633 333300
           
 
CCCC66 CCCC33 999966 999933 999900 666600
           
 
FFFFFF CCCCCC 999999 666666 333333 000000
           
Безопасные цвета
Читать далее

Проверь свой сайт на скорость и доступность c host-tracker.com

Нашел интересный сайт

Позволяет “пробить” сайт из разных точек планеты.

Основные возможности системы

  • Мониторинг произвольного количества ресурсов;
  • Распределенный мониторинг;
  • Период мониторинга каждые 1/5/15/30/60 минут;
  • Возможность мониторинга работы CGIскриптов;
  • Поддерживаются HTTP методы HEAD/POST/GET;
  • Возможность задавать передаваемые CGIскрипту параметры;
  • Контроль наличия нужных ключевых слов на странице;
  • Возможность задания ключевых слов с помощью регулярных выражений;
  • Возможность задания произвольного количества адресов для уведомления о сбоях сервера;
  • Накопление статистики и дальнейшее формирование отчетов;
  • Возможность «открыть» отчеты по одному или нескольким вашим ресурсам для свободного доступа;
  • Хранение отчетов без ограничения во времени;
  • Возможность настройки автоматическая отсылки выбранных отчетов ежедневных, еженедельных, месячных, квартальных, годовых на ваш электронный адрес;
  • Привязка к вашей временной зоне;
  • Детализация отчетов с точностью до дней;
  • Возможность хранения протоколов проверки;
  • Возможность отсылки сообщений о сбоях как на электронный адрес, так и на ваш мобильный телефон, с помощью SMS сообщений;
  • Моментальная проверка доступности ресурса

Зачем это нужно

Стабильность является одной из основных составляющих имиджа, соответственно стабильность работы и доступность сайта является неотъемлемой частью имиджа вашей компании. Оперативность реагирования на любые нештатные ситуации позволяет свести к минимуму время простоя как вашего сайта так и вашего бизнеса.

Приходит еженедельный отчёт вида

—————————————-
Total uptime:99.44% Downtime:4 hour(s) 42 min(s)
Weekly uptime:98.33% Downtime:2 hour(s) 48 min(s)
Day 2008-04-27 Uptime:100.00%
Day 2008-04-26 Uptime:100.00%
Day 2008-04-25 Uptime:88.49% Downtime:2 hour(s) 45 min(s)
Day 2008-04-24 Uptime:99.97% Downtime:28 sec(s)
Day 2008-04-23 Uptime:99.96% Downtime:33 sec(s)
Day 2008-04-22 Uptime:99.91% Downtime:1 min(s) 14 sec(s)
Day 2008-04-21 Uptime:100.00%
—————————————-

Проверь свой сайт на скорость и доступность
host1.gif
Читать далее

Как сделать 301 редирект

Если возникает 301-ая ошибка (301 Permament Redirect) при запросе какого-либо адреса страницы, то это значит, что страница была перенесена на новый адрес.

Создание редиректа 301 — это лучший способ сохранить сайт в поисковиках при переезде на другой хостинг или замене большого количества страниц.

Есть несколько вариантов, самый простой — редирект в .htaccess

С помощью директивы Redirect или RedirectPermanent

Redirect 301 /my-old-page.html

или

Redirect permanent /my-old-page.html

C помощью директивы RewriteRule модуля mod_rewrite

Перенаправление с www на не-www домен

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

Редирект с не-www на домен с www префиксом

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

znaki.jpg
Читать далее

Формат шаблона функции date() или как отображать дату и время на php.

Как отображать дату и время на php. В этом поможет расположенная ниже таблица.

Кодовые символы для шаблона времени
Символ в строке format Описание Пример возвращаемого значения
a Ante meridiem или Post meridiem в нижнем регистре am или pm
A Ante meridiem или Post meridiem в верхнем регистре AM или PM
B Время в стадарте Swatch Internet От 000 до 999
c Дата в формате ISO 8601 (добавлено в PHP 5) 2004-02-12T15:19:21+00:00
d День месяца, 2 цифры с ведущими нулями от 01 до 31
D Сокращенное наименование дня недели, 3 символа от Mon до Sun
F Полное наименование месяца, например January или March от January до December
g Часы в 12-часовом формате без ведущих нулей От 1 до 12
G Часы в 24-часовом формате без ведущих нулей От 0 до 23
h Часы в 12-часовом формате с ведущими нулями От 01 до 12
H Часы в 24-часовом формате с ведущими нулями От 00 до 23
i Минуты с ведущими нулями 00 to 59
I (заглавная i) Признак летнего времени 1, если дата соответствует летнему времени, иначе 0 otherwise.
j День месяца без ведущих нулей От 1 до 31
l (строчная ‘L’) Полное наименование дня недели От Sunday до Saturday
L Признак високосного года 1, если год високосный, иначе 0.
m Порядковый номер месяца с ведущими нулями От 01 до 12
M Сокращенное наименование месяца, 3 символа От Jan до Dec
n Порядковый номер месяца без ведущих нулей От 1 до 12
O Разница с временем по Гринвичу в часах Например: +0200
r Дата в формате RFC 2822 Например: Thu, 21 Dec 2000 16:01:07 +0200
s Секунды с ведущими нулями От 00 до 59
S Английский суффикс порядкового числительного дня месяца, 2 символа st, nd, rd или th. Применяется совместно с j
t Количество дней в месяце От 28 до 31
T Временная зона на сервере Примеры: EST, MDT
U Количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970, 00:00:00 GMT) 581249852 — эквивалент 2 июля 2008 года в 10 ч. 17 м. 32 с.
w Порядковый номер дня недели От 0 (воскресенье) до 6 (суббота)
W Порядковый номер недели года по ISO-8601, первый день недели — понедельник (добавлено в PHP 4.1.0) Например: 42 (42-я неделя года)
Y Порядковый номер года, 4 цифры Примеры: 1999, 2003
y Номер года, 2 цифры Примеры: 99, 03
z Порядковый номер дня в году (нумерация с 0) От 0 до 365
Z Смещение временной зоны в секундах. Для временных зон западнее UTC это отрицательное число, восточнее UTC — положительное. От -43200 до 43200
Формат шаблона функции date() или как отображать дату и время на php.
Читать далее

Создание удобного меню в Drupal на основе списка словаря таксономии

Очень часто необходимо иметь на сайте меню (или несколько меню), которые были бы составлены на основе списка словарей таксономии и сохраняли вложенность словаря. И хорошо бы, чтобы они автоматически обновлялись при добавлении/удалении термина в словаре и показывали количество материала с использованием конкретного термина.

Для создания подобного меню можно применить следующий код на php, который нужно просто добавить в новый блок, не забыв установить в нем формат вывода «php». Единственной настройкой получившегося меню будет указание словаря, на основе которого это меню будет составлено.


<?php
$vid = 3; // Номер словаря
$pole = array();
$items = array();
$terms = taxonomy_get_tree($vid);
//var_dump($terms);

foreach ( $terms as $term ) {
$count = db_result(db_query(«SELECT COUNT(nid) FROM {term_node} WHERE tid = %d», $term->tid));
$pole[]=Array ((($count) ? l($term->name, «taxonomy/term/$term->tid»).» («.$count.»)» : $term->name), $term->depth, $count, $term->tid);
}
$depth =-1;
foreach ($pole as $list) {
//$depth- глубина предыдущего уровня
//$list[1] — глубина текущего элемента
if ($list[1] == $depth) {
echo »

«;
next;
}
while ($list[1] != $depth) {
if ($list[1] > $depth) {
$depth++;
echo «\n

    «;
    next;
    }
    if ($list[1] < $depth) {
    $depth—;
    echo «\n

    \n

«;
}
}

echo «\n

  • $list[0]»;
    $depth=$list[1];
    }
  • //Закрываем все открытые теги до нулевого уровня:
    $depth=0;
    while ($list[1] != $depth) {
    if ($list[1] > $depth) {
    $depth++;
    echo »

    \n

    «;
    }
    }
    ?>

    Ниже показан пример реализации меню с использованием этого кода

    Читать далее

    Установка счетчика Liveinternet (или любого другого) в форум SMF

    Многие сталкивались с этой проблемой. Как ее решить?
    Все просто!

    Берем файл Themes\xxxxxx\index.template.php (xxxxxx — название вашей темы) и находим такую строку…


    // Show the load time?
    if ($context['show_load_time'])
    echo '

    ‘, $txt[‘smf301’], $context[‘load_time’], $txt[‘smf302’], $context[‘load_queries’], $txt[‘smf302b’], ‘

    после нее вставляем


    counter code(код счетчика)

    теперь преобразуем код счетчика

    допустим он у вас такой


    document.write("<\/a>")

    Необходимо перед каждым знаком ‘ поставить \ , чтобы получилось вот так \’

    Или если смотреть код, то так


    document.write("<\/a>")

    Вот и все. Результат можно посмотреть на нашем форуме 🙂

    Читать далее

    Много ярких примеров страниц с ошибками 404!

    Как же не дать уйти человеку, не нашедшему на вашем сайте нужную ему страницу по поисковому запросу или по неряшливости веб-мастера?

    Для этого придуманы ошибки 404 — «заглушки» для сайта, которые показываются вместо несуществующих страниц.

    По хорошему они должны быть понятны для пользователя, позволять перейти на главную страницу сайта или включают поиск по сайту.

    А еще страницы 404 превращают в нечто веселое и художественное. И пользователя становится не так грустно от отсутствия нужной страницы.

    А лучше всего если эту страницу 404 никто никогда не увидит! Пусть все ваши страницы будут найдены!

    404
    Читать далее

    Коды ошибок состояния HTTP — 404, 403, 500 и другие

    Код состояния HTTP (англ. HTTP status code) — часть первой строки ответа сервера. Представляет собой целое число из трех цифр. Первая цифра — класс состояния. За кодом ответа следует поясняющая фраза на английском языке, разъясняющая причину такого ответа.
    Программа-клиент по коду ответа о результатах его запроса узнаёт и определяет, какие действия ему предпринимать дальше. Программа-клиент может не знать все коды состояния, но он обязан отреагировать в соответствии с классом кода.

    Например:

    404 Not Found (Не найдено)
    403 Access allowed only for registered users
    201 Webpage Created
    507 Insufficient Storage

    В настоящее время выделено пять классов кодов состояния.

    Список описанных в статье кодов ответа:


    1xx: Informational (Информационные).
    100 Continue (Продолжать).
    101 Switching Protocols (Переключение протоколов).
    102 Processing (Идёт обработка).


    2xx: Success (Успешно).
    200 OK (Хорошо).
    201 Created (Создано).
    202 Accepted (Принято).
    203 Non-Authoritative Information (Информация не авторитетна).
    204 No Content (Нет содержимого).
    205 Reset Content (Сбросить содержимое).
    206 Partial Content (Частичное содержимое).
    207 Multi-Status (Многостатусный).
    226 IM Used (IM использовано).


    3xx: Redirection (Перенаправление).
    300 Multiple Choices (Множество выборов).
    301 Moved Permanently (Перемещено окончательно).
    302 Found (Найдено).
    303 See Other (Смотреть другое).
    304 Not Modified (Не изменялось).
    305 Use Proxy (Использовать прокси).
    306 (зарезервировано).
    307 Temporary Redirect (Временное перенаправление).


    4xx: Client Error (Ошибка Программа-клиента).
    400 Bad Request (Плохой запрос).
    401 Unauthorized (Неавторизован).
    402 Payment Required (Необходима оплата).
    403 Forbidden (Запрещено).
    404 Not Found (Не найдено).
    405 Method Not Allowed (Метод не поддерживается).
    406 Not Acceptable (Не приемлемо).
    407 Proxy Authentication Required (Необходима аутентификация прокси).
    408 Request Timeout (Время ожидания истекло).
    409 Conflict (Конфликт).
    410 Gone (Удалён).
    411 Length Required (Необходима длина).
    412 Precondition Failed (Условие «ложно»).
    413 Request Entity Too Large (Размер запроса слишком велик).
    414 Request-URI Too Long (Запрашиваемый URI слишком длинный).
    415 Unsupported Media Type (Неподдерживаемый тип данных).
    416 Requested Range Not Satisfiable (Запрашиваемый диапазон не достижим).
    417 Expectation Failed (Ожидаемое не приемлемо).
    422 Unprocessable Entity (Необрабатываемый экзмепляр).
    423 Locked (Заблокировано).
    424 Failed Dependency (Невыполненная зависимость).
    425 Unordered Collection (Неупорядоченный набор).
    426 Upgrade Required (Необходимо обновление).
    449 Retry With (Повторить с…).


    5xx: Server Error (Ошибка сервера).
    500 Internal Server Error (Внутренняя ошибка сервера).
    501 Not Implemented (Не реализовано).
    502 Bad Gateway (Плохой шлюз).
    503 Service Unavailable (Сервис недоступен).
    504 Gateway Timeout (Шлюз не отвечает).
    505 HTTP Version Not Supported (Версия HTTP не поддерживается).
    506 Variant Also Negotiates (Вариант тоже согласован).
    507 Insufficient Storage (Переполнение хранилища).
    509 Bandwidth Limit Exceeded (Исчерпана пропускная ширина канала).
    510 Not Extended (Не расширено).


    1xx: Informational (Информационные)
    В этот класс выделены коды, информирующие о процессе передачи. В HTTP/1.0 сообщения с такими кодами должны игнорироваться. В HTTP/1.1 Программа-клиент должен быть готов принять этот класс сообщений как обычный ответ, но ничего серверу отправлять не нужно. Сами сообщения от сервера содержат только стартовую строку ответа и, если требуется, несколько специфичных для ответа полей заголовка. Прокси-сервера подобные сообщения должны отправлять дальше от сервера к Программе-клиенту.
    100 Continue (Продолжать)
    Сервер удовлетворён начальными сведениями о запросе. Программа-клиент может продолжать пересылать заголовки.

    101 Switching Protocols (Переключение протоколов)
    Сервер предлагает перейти на более подходящий для указанного ресурса протокол. Список предлагаемых протоколов сервер обязательно указывает в поле заголовка Update. Если Программу-клиента это заинтересует, то он посылает новый запрос с указанием другого протокола.

    102 Processing (Идёт обработка)
    Запрос принят, но на его обработку понадобится длительное время. Используется сервером, чтобы Программа-клиент не разорвал соединение из-за превышения времени ожидания. Программа-клиент при получении такого ответа должен сбросить таймер и дожидаться следующей команды в обычном режиме.


    2xx: Success (Успешно)
    Сообщения данного класса информируют о случаях успешного принятия и обработки запроса Программы-клиента. В зависимости от статуса сервер может ещё передать заголовки и тело сообщения.

    200 OK (Хорошо)
    Успешный запрос ресурса. Если Программой-клиентом были запрошены какие-либо данные, то они находятся в заголовке и/или теле сообщения.

    201 Created (Создано) (Транзакция прошла успешно)
    В результате успешного выполнения запроса был создан новый ресурс. Сервер должен указать его местоположение в заголовке Location. Серверу рекомендуется ещё указывать в заголовке характеристики созданного ресурса (например, в поле Content-Type). Если сервер не уверен, что ресурс действительно будет существовать к моменту получения данного сообщения Программой-клиентом, то лучше использовать ответ 202.

    202 Accepted (Принято)
    Запрос был принят на обработку, но обработка не завершена. Программе-клиенту не обязательно дожидаться окончательной передачи сообщения, так как может быть начат очень долгий процесс.

    203 Non-Authoritative Information (Неавторитетная информация)
    Аналогично ответу 200, но в этом случае передаваемая информация была взята не из первичного источника (резервной копии, другого сервера и т. д.) и поэтому может быть неактуальной.

    204 No Content (Нет содержимого)
    Сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Программа-клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные.

    205 Reset Content (Сбросить содержимое)
    Сервер обязывает Программу-клиента сбросить введённые пользователем данные. Тела сообщения сервер при этом не передаёт и документ обновлять не обязательно.

    206 Partial Content (Частичное содержимое)
    Сервер удачно выполнил частичный GET запрос, возвратив только часть. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого. Особое внимание при работе с подобными ответами следует уделить кэшированию.

    207 Multi-Status (Многостатусный)
    Сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещаются в само тело сообщения в виде XML-документа с объектом multistatus. Не рекомендуется размещать в этом объекте статусы из серии 1xx из-за бессмысленности и избыточности.

    226 IM Used (IM использовано)
    Заголовок A-IM от Программы-клиента был успешно принят и сервер возвращает содержимое с учётом указанных параметров.


    3xx: Redirection (Перенаправление)
    Коды класса 3xx сообщают Программе-клиенту что для успешного выполнения операции необходимо сделать другой запрос (как правило по другому URI). Из данного класса пять кодов 301, 302, 303, 305 и 307 относятся непосредственно к перенаправлениям (жарг. редирект). Адрес, по которому Программе-клиенту следует произвести запрос, сервер указывает в заголовке Location. При этом допускается использование фрагментов в целевом URI.

    По последним стандартам Программа-клиент может производить перенаправление автоматически (без запроса пользователя) только если второй ресурс будет запрашиваться GET-методом или HEAD. В предыдущих спецификациях говорилось, что для избежание круговых переходов пользователя следует спрашивать после 5-ого подряд перенаправления[2]. При всех перенаправлениях если метод был не HEAD, то в тело ответа следует включить короткое гипертекстовое сообщение с целевым адресом чтобы в случае чего пользователь смог сам произвести переход.

    Разработчики HTTP отмечают что многие Программы-клиенты при перенаправлениях с кодами 301 и 302 ошибочно применяют метод GET ко второму ресурсу, несмотря на то, что к первому запрос был с иным методом[3]. Чтобы избежать недоразумений в версии HTTP/1.1 были введены коды 303 и 307 вместо 302. Изменять метод нужно, только если сервер ответил 303. В остальных случаях следующий запрос производить с исходным методом.

    По указанному URI существует несколько вариантов предоставления ресурса по типу MIME, по языку или по другим характеристикам. Сервер передаёт с сообщением список альтернатив, давая возможность сделать выбор Программе-клиенту (автоматически) или пользователю.

    301 Moved Permanently (Перемещено окончательно)
    Запрошенный документ был окончательно перенесен на новый URI, указанный в поле Location заголовка. Некоторые Программа-клиенты некорректно ведут себя при обработке данного кода (см. описание ко всему классу 3xx).

    302 Found (Найдено)
    Запрошенный документ временно доступен по-другому URI, указанному в заголовке в поле Location. Этот код может быть использован, например, при управляемом сервером согласовании содержимого. Некоторые Программы-клиенты некорректно ведут себя при обработке данного кода (см. описание ко всему классу 3xx).

    303 See Other (Смотреть другое)
    Документ по запрошенному URI нужно запросить по адресу в поле Location заголовка с использованием метода GET несмотря даже на то, что первый запрашивался иным методом. Этот код был введён вместе с 307-ым для избегания неоднозначности, чтобы сервер был уверен, что следующий ресурс будет запрошен GET-методом (см. описание ко всему классу 3xx).
    Например, на веб-странице есть поле ввода текста для быстрого перехода и поиска. После ввода данных браузер делает запрос методом POST, включая в тело сообщения введённый текст. Если обнаружен документ с введённым названием, то сервер отвечает 303, указав в заголовке Location его постоянный адрес. Тогда браузер гарантировано его запросит GET-методом для получения содержимого. В противном случае сервер просто вернёт Программа-клиенту страницу с результатами поиска[прим 2].

    304 Not Modified (Не изменялось)
    Сервер возвращает такой код, если Программа-клиент запросил документ GET-методом , использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела.

    305 Use Proxy (Использовать прокси)
    Запрос к запрашиваемому ресурсу должен осуществляться через прокси-сервер, URI которого указан в поле Location заголовка. Данный код ответа могут использовать только исходные HTTP-сервера (не прокси).

    306 (зарезервировано)
    Использовалось раньше, в настоящий момент зарезервировано.

    307 Temporary Redirect (Временное перенаправление)
    Запрашиваемый ресурс короткое время доступен по другому URI (указывается в поле Location заголовка). Этот код был введён вместе с 303 вместо 302-ого для избежания неоднозначности (см. описание ко всему классу 3xx).


    4xx: Client Error (Ошибка Программа-клиента)
    Класс кодов 4xx предназначен для указания ошибок со стороны Программы-клиента. При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя.

    400 Bad Request (Плохой запрос)
    Означает, что сервер обнаружил в запросе Программы-клиента синтаксическую ошибку.

    401 Unauthorized (Не авторизован)
    Запрос требует идентификации пользователя. Сервер должен запросить имя и пароль у пользователя, а тот передаст их в заголовке WWW-Authenticate в следующем запросе. Если были указаны неверные данные, то сервер снова вернёт этот же статус.

    402 Payment Required (Необходима оплата)
    Обратите внимание что этот код предусмотрен для платных пользовательских сервисов, а не для хостинговых компаний. Если не оплачена услуга хостинга сайта, то логичней возвращать Программа-клиенту ответ из класса 5xx. Например, как cPanel возвращает ответ 509 (Bandwidth Limit Exceeded) когда площадкой превышен лимит на потребление трафика.

    403 Forbidden (Запрещено)
    Сервер выдал ошибку 403 при попытке просмотра директории «cgi-bin», доступ к которой был запрещён.
    Сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе со стороны Программа-клиента к указанному ресурсу.
    Если для доступа к ресурсу требуется аутентификация средствами HTTP, то сервер вернёт ответ 401 (или 407 для прокси). В противном случае ограничения были заданы администратором сервера или разработчиком веб-приложения и могут быть любыми в зависимости от возможностей используемого ПО.
    В любом случае Программе-клиенту следует сообщить причины отказа в обработке запроса.
    Наиболее вероятными причинами ограничения могут послужить:

    * Попытка доступа к системным ресурсам веб-сервера (например, файлам .htaccess или .htpasswd) или к файлам, доступ к которым был закрыт с помощью конфигурационных файлов.
    * Для доступа требуется аутентификация не средствами HTTP (например, для доступа к CMS или разделу для зарегистрированных пользователей).
    * Сервер не удовлетворён IP-адресом Программы-клиента (например, временная блокировка из-за частых обращений или же на этапе разработки приложения доступ разрешён только некоторым IP).

    404 Not Found (Не найдено)
    Сервер понял запрос, но не нашёл соответствующего документа или страницы по указанному URI. Если серверу известно, что по этому адресу был документ, то ему желательно использовать код 410. Ответ 404 может использоваться вместо 403, если требуется тщательно скрыть от посторонних глаз определённые ресурсы.

    405 Method Not Allowed (Метод не применим)
    Указанный Программой-клиентом метод нельзя применить к текущему ресурсу. В ответе сервер должен указать доступные методы в заголовке Allow разделив их запятой.
    Обратите внимание что эту ошибку сервер должен возвращать если метод ему известен, но он не применим именно к указанному в запросе ресурсу. Если же указанный метод не применим на всём сервере, то Программе-клиенту нужно вернуть ответ 501 (Not Implemented).

    406 Not Acceptable (Не приемлемо)
    Запрошенный URI не может удовлетворить переданным в заголовке характеристикам. Если метод был не HEAD, то сервер должен вернуть список допустимых характеристик для данного ресурса.

    407 Proxy Authentication Required (Необходима авторизация прокси)
    Ответ аналогичен коду 401 за исключением того, что аутентификация производится для прокси-сервера. Механизм аналогичен идентификации на исходном сервере.

    408 Request Timeout (Время ожидания истекло)
    Время ожидания сервером передачи от Программы-клиента истекло. Программа-клиент может повторить аналогичный предыдущему запрос в любое время.
    Например, такая ситуация может возникнуть при загрузке на сервер объёмного файла методом POST или PUT. В какой-то момент передачи источник данных перестал отвечать (например, из-за повреждёния компакт-диска или потеря связи с другим компьютером в локальной сети). Пока Программа-клиент ничего не передаёт, ожидая от него ответа, соединение с сервером держится. Через некоторое время сервер может закрыть соединение со своей стороны чтобы дать возможность другим Программа-клиентам сделать запрос.
    Ответ не возвращается когда Программа-клиент принудительно остановиа передачу по команде пользователя или соединение прервалось по каким-то иным причинам, так как ответ уже послать не возможно.

    409 Conflict (Конфликт)
    Запрос не может быть выполнен из-за конфликтного обращения к ресурсу. Такое возможно, например, когда две Программы-клиента пытаются изменить ресурс с помощью метода PUT.

    410 Gone (Удалён)
    Такой ответ сервер посылает, когда ресурс раньше был по указанному URI, но был удалён и теперь недоступен. Серверу в этом случае не известно и местоположение альтернативного документа (например, копии). Если у сервера есть подозрение, что документ в ближайшее время может быть восстановлен, то лучше Программе-клиенту передать код 404.

    411 Length Required (Необходима длина)
    Для указанного ресурса Программа-клиент должен указать Content-Length в заголовке запроса. Без указания этого поля не стоит делать повторную попытку запроса к серверу по данному URI.
    Такой ответ вполне естественнен для запросов типа POST и PUT. Например, если по указанному URI производится загрузка файлов, а на сервере стоит ограничение на их объём. Тогда разумней будет проверить в самом начале заголовок Content-Length и сразу отказать в загрузке, чем провоцировать бессмысленную нагрузку разрывая соединение, когда Программа-клиент действительно пришлёт слишком объёмное сообщение.

    412 Precondition Failed (Условие «ложно»)
    Возвращается, если ни одно из условных полей заголовка запроса не было выполнено.

    413 Request Entity Too Large (Размер запроса слишком велик)
    Возвращается в случае, когда сервер отказывается обработать запрос по причине слишком большого размера тела запроса. Сервер может закрыть соединение, чтобы прекратить дальнейшую передачу запроса Программой-клиентом.
    Если проблема временная, то рекомендуется в ответ сервера включить заголовок Retry-After с указанием времени, по истечении которого можно повторить аналогичный запрос.

    414 Request-URL Too Long (Запрашиваемый URL слишком длинный)
    Сервер не может обработать запрос из-за слишком длинного указанного URL. Такую ошибку можно спровоцировать, например, когда Программа-клиент пытается передать длинные параметры через метод GET, а не POST.

    415 Unsupported Media Type (Неподдерживаемый тип данных)
    По каким-то причинам сервер отказывается работать с указанным типом данных при данном методе.

    416 Requested Range Not Satisfiable (Запрашиваемый диапазон не достижим)
    В поле Range заголовка запроса был указан диапазон за пределами ресурса и отсутствует поле If-Range. Если Программа-клиент передал байтовый диапазон, то сервер может вернуть реальный размер в поле Content-Range заголовка. Данный ответ не следует использовать при передаче типа multipart/byteranges.

    417 Expectation Failed (Ожидаемое не приемлемо)
    По каким-то причинам сервер не может удовлетворить значению поля Expect заголовка запроса.

    422 Unprocessable Entity (Необрабатываемый экземпляр)
    Сервер успешно принял запрос, может работать с указанным видом данных, в теле запроса XML-документ имеет верный синтаксис, но имеется какая-то логическая ошибка из-за которой невозможно произвести операцию над ресурсом.

    423 Locked (Заблокировано)
    Целевой ресурс из запроса заблокирован от применения к нему указанного метода.

    424 Failed Dependency (Невыполненная зависимость)
    Реализация текущего запроса может зависеть от успешности выполнения другой операции. Если она не выполнена и из-за этого нельзя выполнить текущий запрос, то сервер вернёт код 424.

    425 Unordered Collection (Неупорядоченный набор)
    Данный ответ посылается если Программа-клиент послал запрос обозначив положение в неотсортированной коллекции или используя порядок следования элементов отличный от серверного.

    426 Upgrade Required (Необходимо обновление)
    Сервер указывает Программе-клиенту на необходимость обновить протокол. Заголовок ответа должен содержать правильно сформированные поля Upgrade и Connection.

    449 Retry With (Повторить с…)
    Возвращается сервером если для обработки запроса от Программы-клиента поступило не достаточно информации. При этом в заголовок ответа помещается поле Ms-Echo-Request.
    В настоящий момент как минимум используется программой Microsoft Money. Более подробную информацию по данному коду ответа можно получить в библиотеке MSDN.


    5xx: Server Error (Ошибка сервера)
    Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера. Для всех ситуаций, кроме использования метода HEAD, сервер должен включать в тело сообщения объяснение, которое Программа-клиент отобразит пользователю.

    500 Internal Server Error (Внутренняя ошибка сервера)
    Любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса 5xx.

    501 Not Implemented (Не реализовано)
    Сервер не поддерживает возможностей, необходимых для обработки запроса.
    Типичный ответ для случаев, когда сервер не понимает указанный в запросе метод. Если же метод серверу известен, но он не применим только к данному ресурсу, то нужно вернуть ответ 405 (Method Not Allowed).

    502 Bad Gateway (Плохой шлюз)
    Сервер в роли шлюза или прокси получил сообщение о неудачном выполнении промежуточной операции.

    503 Service Unavailable (Сервис недоступен)
    Сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее). В поле Retry-After заголовка сервер может указать время, через которое Программе-клиенту рекомендуется повторить запрос. Хотя во время перегрузки очевидным является сразу разрывать соединение, эффективней может оказаться установка большого значения поля Retry-After для уменьшения частоты избыточных запросов.

    504 Gateway Timeout (Шлюз не отвечает)
    Сервер в роли шлюза или прокси не дождался ответа от вышестоящего сервера для завершения текущего запроса.

    505 HTTP Version Not Supported (Версия HTTP не поддерживается)
    Сервер не поддерживает или отказывается поддерживать указанную в запросе версию протокола HTTP.

    506 Variant Also Negotiates (Вариант тоже согласован)
    В результате ошибочной конфигурации выбранный вариант указывает сам на себя из-за чего процесс связывания прерывается.

    507 Insufficient Storage (Переполнение хранилища)
    Не хватает места для выполнения текущего запроса. Проблема может быть временной.

    509 Bandwidth Limit Exceeded (Исчерпана пропускная ширина канала)
    Используется при превышении веб-площадкой отведённого ей ограничения на потребление трафика. В данном случае владельцу площадки следует обратиться к своему хостинг-провайдеру. В настоящий момент данный код не описан ни в одном RFC и используется только модулем bw/limited, входящем в панель управления хостингом cPanel.

    510 Not Extended (Не расширено)
    На сервере отсутствует расширение, которое планирует использовать Программа-клиент. Сервер может дополнительно передать информацию о доступных ему расширениях.

    404, 403, 500 и другие
    Читать далее

    Простейшая оптимизация сайтов

    Несколько самых простых правил оптимизации сайтов.

    1. Никогда не бросайте свои сайты. С каждым годом доменное имя стоит все больше. Даже если вы не будете поддерживать сайт, то возможно, у вас найдется покупатель на доменное имя.
    Но! Будьте умны. Не нужно продлевать и держать заведомо некому не нужное имя 🙂 Самое разумное — периодическое наполнения сайта свежими материалами;

    2. Старайтесь писать оптимизированные тексты сразу. Вам будет очень сложно заново переписывать весь сайт в целях оптимизации. Самое простое проверяйте ключевые фразы с помощью яндекса — выбирайте через несколько ключевых низкочастотных запроса и орудуйте ими при написании текста;

    3. Статьи должны содержать 1.5-2 тысячи знаков. Идеально если их будет больше — 4-7 тысяч — такие тексты очень понравятся поисковикам. А елси каждая такая статья будет польностью ваша, а не позаимствованная где-то, то трафиик вам обеспечен!

    Читать далее
    Яндекс.Метрика