Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2011, 12:58   #1
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
Вопрос HTTP заголовки, вебсервер на сокетах - нужна информация

Доброго времени суток!
Пишу вебсервер для своих нужд (Приложение с управлением через веб интерфейс по IP:Port).
Для связи использую чистые сокеты (winsock2.pas).

Для удобности веб интерфейса хочу сделать его стилизованным, тоесть он должен включать в себя разного рода изображения jpg,png,ico так-же таблицу стилей css.
Судя по запросам браузера на каждый ресурс отличающийся от html текста странички шлется запрос. Пока я сумел отправить png картинку в ответ - методом проб и ошибок. ( но работает через раз ...)

Хочу найти информацию по http протоколу и в частности заголовкам, чтобы знать как комбинировать ответ/запрос в сочетани и с соединением через сокеты (Connection: close/ Keep-Alive; ...). Хотелось бы на русском и с примерами, но сойдет и на анлгийском ... главное чтобы было хорошо написано

Вот пример запроса браузера (Firefox 3.6):
Код:
GET / HTTP/1.1
Host: 127.0.0.1:4545
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3 WebMoney Advisor
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Спасибо за отзывы!
Lime вне форума Ответить с цитированием
Старый 25.02.2011, 13:21   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

http://ru.wikipedia.org/wiki/HTTP
Arigato вне форума Ответить с цитированием
Старый 25.02.2011, 14:45   #3
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Вики я посмотрел в начале поисков, к сожалению нашел там больше философии чем правил и темболее примеров.

Подсказали ещё один вариант поисков, у меня установлен денвер и скопировав запрос браузера (поменяя адрес смоего IP:Port) поменяв адрес хоста на денвере я могу получить верный ответ (который в последствии я должен буду скопировать и использовать сам) но не имею соответствующего софта для перехвата траффика (тобиш сниффера).
На сколько я помню снифферы цепляются только за сетевой интерфейс и в отсутствии интернета ничего показывать не собираются (хотя фактически обмен информацией по сокетам происходит локально)...

Подскажите решение пожалуйста

Последний раз редактировалось Lime; 25.02.2011 в 14:47.
Lime вне форума Ответить с цитированием
Старый 25.02.2011, 15:06   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в вики не подробно но расписано.
далее в конце ссылки вы не смотрели.
(третья и вторая ссылка)
Цитата:
На сколько я помню снифферы цепляются только за сетевой интерфейс и в отсутствии интернета ничего показывать не собираются (хотя фактически обмен информацией по сокетам происходит локально)...
делаете тестовую прогу, в ней ставите сервер сокет, и открываете в нем 80 порт.
по событию выводите все что пришло(я так когда то делал)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 25.02.2011, 16:43   #5
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
Лампочка

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
делаете тестовую прогу, в ней ставите сервер сокет, и открываете в нем 80 порт.
по событию выводите все что пришло(я так когда то делал)
Я чейчас тоже так делаю, о чем написал выше (не хочу таким методом ), но ответы от сервера ( денвера в моём случае) должны быть на правильные запросы.
Кроме того теория всегда хороша когда она с примерами. А одними лишь примерами не всегда можно достигнуть цели.

PS: компонентами не пользуюсь, порт не стандартный.

Последний раз редактировалось Lime; 25.02.2011 в 16:55. Причина: очепятки
Lime вне форума Ответить с цитированием
Старый 07.03.2011, 08:52   #6
painfull
Новичок
Джуниор
 
Регистрация: 06.01.2011
Сообщений: 2
По умолчанию

Траффер ещё глянь -хорошо заголовки кажет.

painfull вне форума Ответить с цитированием
Старый 07.03.2011, 19:30   #7
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Я так понял, у тебя Firefox? Есть дополнения, чтобы смотреть и менять заголовки.
https://addons.mozilla.org/ru/firefo...-http-headers/
https://addons.mozilla.org/ru/firefo...n/tamper-data/
https://addons.mozilla.org/ru/firefox/addon/httpfox/
А информация об HTTP - в RFC. Только этой информации, наверное, слишком много...
http://tools.ietf.org/html/rfc2616
Somebody вне форума Ответить с цитированием
Старый 08.03.2011, 21:52   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
PS: компонентами не пользуюсь, порт не стандартный.
а кто мешает в сервер-сокете поставить этот не стандартный порт?

кстати если нужно снифить все подрят то можно поставить чтото наподобие CommView
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
http-заголовки и их возможности Maxsim H. PHP 4 04.11.2009 14:14
Нужна любая информация о Cimplicity Лукманов Александр Свободное общение 2 09.04.2009 19:55
Нужна информация deleti Помощь студентам 5 13.01.2009 14:27
Нужна информация по Oracle! Николай_ Помощь студентам 1 15.09.2008 12:09
Нужна информация по mp3 тегам ozhjog Мультимедиа в Delphi 4 11.05.2007 00:41