Уже 4й день пытаюсь наладить схему.
Алгоритм работы такой:
1) При подключении выдаем страницу (в данном примере home.html) браузеру.
2) Браузер загружая страницу шлет серверу GET запросы на получение контента (в данном примере CSS, JS, JPEG, GIF)
3) Запросы поступают в порт сервера, сервер производит поиск блока GET / HTTP/1.1 (например GET /style.css HTTP/1.1)
4) После нахождения блока производится поиск файла в каталоге, определяется его MIME тип, длинна и формируется ответ странице с которой пришел запрос в виде:
HTTP/1.1 200 OK
Content-Length: 3490
Content-Type: text/css
Connection: close
данные запрашиваемого файла.
Вроде все работает, но работает странно, а именно:
Не всегда весь контент страницы полностью отображается в браузере, например картинки - то отображаются, то нет.
Причем заметил такую странность: если обращаться к серверу через "localhost:178" то из 10 запросов 2-3 будут удачными (имею ввиду что весь контент загрузится нормально)
Если обращаться к серверу по IP (НЕ по loopback) например в моем случае 192.168.0.10 то из 10 запросов 0-1 будут удачными и весь контент загрузится нормально.
Что было предпринято прежде чем писать на форум:
1) Перелопатил википедию на предмет HTTP заголовков и статусов состояний web сервера.
2) Поставил HTTP Analyzer с помощью него посмотрел какие запросы получает от браузера и какие ответы отправляет локальный Apache
3) Посмотрел какие запросы и ответы при обращении к серверам google, yandex и т.д.
4) Проверил схему, правильность составления ответов
5) Пробовал менять заголовки и их значения Connection: Close, Keep-Alive: timeout=0, max=100, Connection: keep-alive
6) Пробовал разные браузеры (Chrome,IE)
7) Менял порт сервера и сетевые настройки
8) Удалял Apache
9) Удалял драйвера захвата пакетов WinCap
10) Удалял HTTP Analyzer
11) Пробовал другие шаблоны сайтов
12) Проверял правильность Content-type:
13) Пробовал скармливать браузеру другие (отличные от 200 ОК) статусы состояний (100,102,206)
14) Пробовал отдавать контент браузеру хранимый в компоненте MemoryStream (исключал задержки при чтении файла с диска)
15) Ковырял файлы шаблонов (html,css) менял пути к контенту
Выбился из сил..4й день до 4х утра пытаюсь разобраться и побороть глюки самодельного веб сервера.
ОЧЕНЬ прошу помощи!! Подскажите что не правильно делаю?
Схема:
code_32121.txt
ссылка на используемый шаблон сайта http://forum.hiasm.com/forum_serv.php?q=56&id=3617
Схема очень простая, используемый шаблон сайта тоже.
Сайт должен лежать по пути C:123site
Ответов: 655
Рейтинг: 18
|
|||
карма: 0 |
| ||
файлы: 1 | code_32121.txt [3.1KB] [303] |