механизм запросов browser'а

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

механизм запросов browser'а

Сообщение Sirik » 15.05.2005 (Вс) 11:02

допустим надо загрузить страницу из инета в internet explorer

что делает браузер?

я думаю, что ход вот такой:
1. браузер посылает на сервер запрос
2. сервер возвращает старницу
3. если на странице есть картинки, css ..., то браузер по очереди посылает запросы на сервер, чтобы получить данные ресурсы.

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

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 15.05.2005 (Вс) 17:07

Connection: Keep-Alive вроде так, чтобы соединение с сервером не рвалось...
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Сообщение xenomorph » 15.05.2005 (Вс) 19:14

To Sirik:

8) Привет 8).

> вопрос вот в чём: последний пункт (3), бразер посылает
> запросы один за другим или сразу?

Зависит от браузера.
Опера и ИЕ каждый по своему ...
что самое обидное 8(.

> в принципе сразу все запросы послать он не может так,
> как подключение на любой порт существует единожды
> (в один момент времени). или я ошибаюсь?

И да и нет 8). Один сокет - один коннект. Но сервер
сделан по другому. Т.е. слушающий сокет "принимет" соединение,
( ! не устанавливая его ! )
и передаёт на обработку - другому сокету. В итоге один Вєб-сервер
может обрабатываеть много клиентов \ или их запросов (!) сразу. Прокси должен
действовать точно так же - обслуживать много запросов сразу.
И ИЕ, _падло_, тоже может их сразу посылать *(((.

Причём раз на раз не пришодиться ...

Самое трудное в написании прокси - с чем сейчас мучаюсь - это
буфферизация. (Всё западло в том, что моя проксятина работает
с оперой а с ИЕ даёт покоцанаю картинку 8((( ).

Я так понял (опытным путём 8), что запросы с браузера и ответы с сервера,
проксятина должна загружать в два стэка - т.е. один для
ответов одного и запросов второго. И должна производить
дебуфферизацию по-возможности - или по событиям сокета,
или по таймеру (?).

Приколы с синхронизацией (!):
1. пошёл запрос на сервер от ИЕ.
2. пошёл второй (картинка)
3. пришёл ответ с сервера (1)
4. а Ослик видете, ли хотит послать запрос (3). Картинка 2.
- вот и живи с такими проблемами 8))).

Проблемы с буфером.

Из чего делать? String \ Byte?
Я не решил до конца?

Какую делать структуру стэков? - а ля массив Байт или строк?
--
Хех - щас приложу свой код чуть попозжее 8).
--
Удачи!
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.05.2005 (Пн) 7:38

Эх... Тоже делал я однажды мини-прокси, те же проблемы были. Я с ними, кстати, тогда так и не разобрался -- надоело и взял AnalogX Proxy.

Буфер лучше байтовый -- редактировать его не надо, а соединять/переносить его удобнее (через CopyMemory).
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 177

    TopList