♦ Средства отладки HTTP
♦ Трассировщики
♦ Удаленные отладчики Рассмотрим их подробнее.
Средства отладки HTTP
Эти утилиты оказываются удобными, когда приходится выявлять часто встречающиеся ошибки, которые нельзя обнаружить в броузере. Дело в том, что броузер обрабатывает заголовки HTTP, которые могли вызвать ошибку. Вот эти распространенные ошибки:
♦ Неправильные значения cookie
♦ Информация сеанса
♦ Длина ответа HTTP
♦ Проблемы интернационализации
Клиент telnet
С помощью клиента telnet можно соединиться с демоном или службой, которые слушают порт, и послать в него какие-либо команды. Клиенты (веб-броузеры) и сервер (веб-сервер) РНР связываются между собой по протоколу HTTP. С помощью клиента telnet можно исследовать передаваемые заголовки HTTP и отладить некоторые часто встречающие проблемы, связанные с заголовками, создаваемыми сценариями РНР. Следующая команда посылает запрос HTTP GET на страницу РНР и выводит возвращенные заголовки (рис. 6.1):
telnet phpserver.ourdomain.com 80 get /welcome, php http/i.o ok
Вот текст сценария welcome, php: <?php
echo("Print a test line '
?>
С помощью клиента telnet можно также задать различные заголовки перед отправкой фактического запроса GET. Можно, например, отправить на сервер cookie перед фактическим запросом GET. Однако применение клиента telnet имеет недостатки: трудно воспользоваться методом HTTP POST, с помощью которого часто передается форма с несколькими параметрами. Кроме того, с некоторыми системами Microsoft Windows поставляется клиент telnet, который не может соединяться с другими портами, кроме установленного для telnet по умолчанию.
Еще один инструмент с более широкими возможностями - wget - хороший клиент HTTP для отладки заголовков HTTP. Он применяется в основном в качестве «сетевой гусеницы», которая может автоматически рекурсивно загружать страницы веб-сайта. Однако этим клиентом нельзя воспользоваться в случаях сеансов HTTP. Его можно загрузить по адресу http://wget.sunsite.dk/"> http://wget.sunsite.dk/.
«Шпионские» серверы
С помощью клиента telnet можно эмулировать веб-броузер, но иногда приходится посмотреть на вещи с точки зрения сервера, т. е. посмотреть на данные, которые отправляются веб-серверу. В таких случаях часто бывает полезен «сервер-шпион» (snoop server).
Netcat
Netcat, сетевая утилита, имеющаяся на платформе Windows и большинстве UNIX-подобных систем, может использоваться в качестве «шпионского» сервера. Ее можно загрузить с http://packetst0rmsecurity.0rg/B действительности ее можно применять вместо клиента telnet предыдущего раздела, маскирующегося под клиента РНР.