Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: HTTP Parser  (Прочитано 14010 раз)
0 Пользователей и 1 Гость смотрят эту тему.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« : 25-05-2009 11:27 » 

Всем привет. Есть задача написать HTTP parser. Ни разу, у меня лично, не было задач работать с HTTP протоколом на уровне разбора, поэтому не знаю на какую библиотеку стоит смотреть? Основное требование это то что парсер должен выдерживать достаточно серьезную нагрузку >=100 Mb/s.

Сейчас рассматриваю библиотеку libcurl. Есть ли у кого опыт по данной теме.

Спасибо.

UPD: куда и как укладывать не принципиально, пока допустим в XML.
UPD2: libcurl рассматриваю не как инструмент для решения задачи, а для того что бы посмотреть как парсить.
« Последнее редактирование: 25-05-2009 12:12 от McZim » Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 25-05-2009 13:24 » 

McZim, что ты понимаешь под разбором HTTP? Заголовки, данные? А то, что заголовков может быть больше одного не смущает? Протокол HTTP 1.1 довольно наворочен.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #2 : 25-05-2009 13:42 » 

RXL, разбор всего. То есть не важно что конкретно передается нужно разбирать все.

Что ты имеешь ввиду что заголовков может быть больше одного? Заголовок HTTP поймали и поехали парсить что там внутри.
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 25-05-2009 17:18 » new

McZim, HTTP 1.1 позволяет в рамках одного соединения выполнить несколько запросов, а каждый запрос может сопровождаться несколькими ответами (! - см. ответы 1хх).

Т.ч., если хочешь полноценную поддержку HTTP, то  лучше использовать готовые библиотеки. Или использовать только HTTP 1.0.
Во втором случае "парсить" нечего - просто реж строку по певому встреченному двоеточию и сделай rtrim для имени и ltrim для значения.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #4 : 25-05-2009 19:18 » 

RXL, нужна именно полноценная поддержка HTTP. Собственно я про библиотеки и спросил кто с какими работал.
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 25-05-2009 19:51 » 

Я не с какими не работал - не было нужды.

Что-то я нифига не могу найти описание API для libcurl на родном сайте...
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #6 : 25-05-2009 19:53 » 

не знаю, я там только ман нашел на почитать.
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Rulik
Помогающий

ru
Offline Offline

« Ответ #7 : 26-05-2009 18:48 » 

2 McZim: Вах, какие люди. Улыбаюсь
Записан
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #8 : 26-05-2009 19:16 » 

Rulik, вах какие люди Улыбаюсь Есть что по теме сказать?
« Последнее редактирование: 26-05-2009 19:19 от McZim » Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines