Протокол HTTP: как определить, где находится домашняя страница сайта - PullRequest
2 голосов
/ 28 февраля 2012

Я не могу быть единственным человеком, который когда-либо задавался этим вопросом, но я не мог найти ответ на вопрос где-либо еще на сайте. Я успешно запрашивал определенные файлы с сайтов, отправляя HTTP-запросы (в ruby ​​с сокетами). Однако я не знаю, как узнать, в каком файле находится домашняя страница сайта. Я думаю, что этот вопрос довольно ясен, но на всякий случай:

#!/usr/bin/ruby

require 'socket'

s = TCPSocket.new("www.example.edu", 80)
s.print("GET /index.html HTTP/1.0\r\n\r\n")

while (t = s.recv(50))
        print t
end

exit 0

Это то, что работает, но я хотел бы получить домашнюю страницу, не зная заранее ее имени файла. Кто-нибудь знает? Заранее спасибо!

1 Ответ

3 голосов
/ 28 февраля 2012

Работает наоборот: вы запрашиваете только / (т.е. GET / HTTP/1.1), а затем веб-сервер решает поиск index.html. Или любой другой документ / скрипт / все, что было настроено.

Это часто бывает index.html, но это не обязательно так. Часто это будет index.php или подобное.

Моя конфигурация apache по умолчанию гласит:

DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm

Я мог бы положить туда что угодно.

...