Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

HTTP,TCP и IP

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Сети
Предыдущая тема :: Следующая тема  
Автор Сообщение
student_
Гость





СообщениеДобавлено: Пт Дек 20 2002 06:03    Заголовок сообщения: HTTP,TCP и IP Ответить с цитатой

Помогите, пожалуйста ответить на несколько вопросов:
1. Имеется ТСР-пакет. В каком поле заголовка TCP (IP?) определяется,что он содержит сообщение именно в формате НТТР?
Какие значения может принимать это поле?
2. Данные заполненной формы присланы на сервер, на котором имеется прога - обработчик написанная допустим на PERL. Каким образом данные передаются этой проге? Предполагается, что ответ на этот вопрос как-то связан с предыдущим вопросом
Вернуться к началу
SergeyK+



Зарегистрирован: 19.10.2002
Сообщения: 224
Откуда: Москва

СообщениеДобавлено: Пт Дек 20 2002 10:28    Заголовок сообщения: Нигде, это протоколы разных уровней (это косается и 2-го вопроса). Залезь на сайт BILIM и почитай о стеке протоколов TCP/IP и о Ответить с цитатой

.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ALEX_SE
Гость





СообщениеДобавлено: Пт Дек 20 2002 10:45    Заголовок сообщения: Re: HTTP,TCP и IP Ответить с цитатой

1. Имеется ТСР-пакет. В каком поле заголовка TCP (IP?) определяется,что он содержит сообщение именно в формате НТТР?
- Ни в каком. Протоколо TCP не знает что он передает. Ему пофиг. Его задача - организовать надежные прием и передачу данных на своем уровне. А что там под ним или над ним - его не касается... Есть такое понятие "инкапсуляция"... Имеется поле "номер порта получателя" длиной 2 байта. А уже протоколы верхнего уровня использующие TCP "прослушивают" нужный порт и понимают что это "для них". А вот в поле IP-пакета есть поле "протокол верхнего уровня", занимает 1 байт, номера протоколов можешь посмотреть в RFC №790 "Assignad Numbers"

Какие значения может принимать это поле?
- Двоичные Smile Номер порта. 0-65536

2. Данные заполненной формы присланы на сервер, на котором имеется прога - обработчик написанная допустим на PERL. Каким образом данные передаются этой проге?
- Методом POST. Smile Есть куча способов. Ты уточник конкретно на каком уровне это тебя интересует... на уровне протоколов или на уровне функционирования ОС и ПО. Тут уже несколько сложнее. Тут реализация на программном уровне... ты по HTTP протоколу обращаешся к скрипту, он запускается, берет нужные параметры из строки запуска или ещё откуда и что-то там делает... если вкратце.

Предполагается, что ответ на этот вопрос как-то связан с предыдущим вопросом
- В этой жизни вообще всё взаимосвязано.

Народ, если я некорректно что-то сказал или где-то неправ то поправьте.
Вернуться к началу
SergeyK+



Зарегистрирован: 19.10.2002
Сообщения: 224
Откуда: Москва

СообщениеДобавлено: Пт Дек 20 2002 11:26    Заголовок сообщения: угу, а вообще есть такая классная книжка "Мир протоколов", на билиме лежат выдержки из нее, если кому надо могу подел Ответить с цитатой

.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dmitry.Karpov http://prof
Гость





СообщениеДобавлено: Пт Дек 20 2002 17:14    Заголовок сообщения: Поучиться бы Вам на моих курсах... Ответить с цитатой

1) IP-пакет, если он TCP или UDP, кроме IP-адресов источника и назначения несет в себе еще и номера портов источника и назначения - вот в них и определяется программа-получатель пакета (в случае UDP) или передаваемых в пакете данных (в TCP программа-получатель не оповещается о нарезке данных на пакеты). Для HTTP выделен порт:80; кроме него используют 810[0-5] (© Леша Тутубалин).

2) В переменных окружения и через stdin независимо от языка программирования, но зависимо от метода POST или GET. В Perl есть библиотека, котрая разбирает это на отдельные параметры.
Вернуться к началу
ALEX_SE
Гость





СообщениеДобавлено: Пт Дек 20 2002 17:46    Заголовок сообщения: Re: Поучиться бы Вам на моих курсах... Ответить с цитатой

1) IP-пакет, если он TCP или UDP...
Не очень тебя понял. IP, TCP, UDP - разные протоколы, последние 2 работают поверх IP. Где тогда в IP пакете номера портов? И Где в TCP пакете адрес источника и назначения? Или ты и имеешь ввиду пакеты протоколов TCP и UDP вложенных в пакет IP говоря так?
Вернуться к началу
Dmitry.Karpov http://prof
Гость





СообщениеДобавлено: Пт Дек 20 2002 18:03    Заголовок сообщения: Пакет IP бывает TCP, UDP, ICMP, BGP или еще более ста протоколов Ответить с цитатой

Любой пакет протоколов TCP, UDP, ICMP и т.д. является IP-пакетом, не так ли?
IP-адреса и порты источника и назначения, а также TTL и прочая служебная информация находятся в заголовке - а где же еще? Просто в ICMP данные по смещению, по которому в TCP и UDP находятся номера портов, интерпретируются иначе (не как номера портов).
Вернуться к началу
ALEX_SE
Гость





СообщениеДобавлено: Пт Дек 20 2002 18:07    Заголовок сообщения: Re: Пакет IP бывает TCP, UDP, ICMP, BGP или еще более ста протоколов Ответить с цитатой

Всё, понял тебя. Я когда отвечал имел ввиду чисто пакеты протоколов IP, TCP и UDP. И, следовательно, вся служебная информация находится действительно в заголовке пакета IP + одного из перечисленных тобой протоколов. Который можно рассматривать как общий, тогда всё встает на свои места в твоем ответе Smile
Вернуться к началу
student_
Гость





СообщениеДобавлено: Пт Дек 20 2002 18:37    Заголовок сообщения: Re: Поучиться бы Вам на моих курсах... Ответить с цитатой

1. А я где-то читал, что можно использовать не только 80-й порт: http:/any_adress.ru/index.html:8080. Что же будет в этом случае?
2. Я так понимаю что-то слушает 80-й порт и в зависимости от метода пересылает тому или иному обработчику?
Вернуться к началу
ALEX_SE
Гость





СообщениеДобавлено: Пт Дек 20 2002 19:03    Заголовок сообщения: Re: Поучиться бы Вам на моих курсах... Ответить с цитатой

1. А я где-то читал, что можно использовать не только 80-й порт: http:/any_adress.ru/index.html:8080. Что же будет в этом случае?
- В данном случае HTTP сервер сам переделает номер порта. Он настраивается специально для этого. Это нужно например когда на одном сервере, с одной DNS зоной нужно разместить разные странички. HTTP сервер на порту по умолчанию выдаст тебе одну страничку а на другом соответственно другую. Это один из вариантов. Кстати, Для Дмитрия Карпова - не мог ли ты подробнее это описать? для чего это ещё надо?

2. Я так понимаю что-то слушает 80-й порт и в зависимости от метода пересылает тому или иному обработчику?
- Именно! Дмитрий тебе ответил что конкретно. В некоторых случаях обработчик и слушает (например Winpopup). А если точнее то ты устанавливаешь соединение с машиной по какому-то из портов и нужная программа просто отвечает на запрос установки соединения.
Вернуться к началу
Dmitry.Karpov http://prof
Гость





СообщениеДобавлено: Пт Дек 20 2002 20:59    Заголовок сообщения: Отвечаю на оба вопроса Ответить с цитатой

Любая программа может "слушать" любой порт (ну, при условии, что у нее есть полномочия - так в Unix порты 0..1023 может слушать лишь программа, имеющая права root; еще есть демон inetd, который запускает программу при обращении на заданный порт, но это здесь несущественно). Так вот, при обращении к порту я в реальности получаю доступ к программе, а дальше она определяет, какие протоколы будут поддерживаться на этом соединении (типа на разных телефонных номерах сидят модемы, и на каждом модеме - программа, готовая принять и обслужить звонок; аналогия один-в-один). Если клиент хочет использовать один протокол, а программа-сервер на порту, по которому он обратился, работает по другому протоколу, то ничего работать не будет - автораспознавания протоколов нет.

Леша Тутубалин предлагает перекодировку text/plain и text/html Win1251/KOI8-r/DOScp866/etc в зависимости от порта, на на порту:80 висит автоопределение по заголовку "X-Agent" с перенаправлением на соотвествующий порт 810[0..5]. Загляни на http://apache.lexa.ru - он рузеz.
Вернуться к началу
ALEX_SE
Гость





СообщениеДобавлено: Сб Дек 21 2002 18:55    Заголовок сообщения: Re: Поучиться бы Вам на моих курсах... Ответить с цитатой

Верно, сходи на http://apache.lexa.ru, узнаешь много интересного Smile
Вернуться к началу
student_
Гость





СообщениеДобавлено: Пн Дек 23 2002 18:55    Заголовок сообщения: HTTP,TCP и IP Ответить с цитатой

Всем огромное спасибо. Курсач сдан на "отл."!!!!
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Сети Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...