Создать тему  Создать ответ 
Предварительная обработка веб-страниц
02-02-2015, 02:44    
Сообщение: #1
Quasus

Гоф-фурьер
Сообщений: 625
Зарегистрирован: 17.06.12

Предварительная обработка веб-страниц
Предположим, захотелось предварительно обрабатывать некоторые веб-страницы, прежде чем отдавать их браузеру. Как это может осуществляться? Прокси-сервер может это делать?
Найти все сообщения
Цитировать это сообщение
02-02-2015, 23:52    
Сообщение: #2
Bʰudʰ

Member
Сообщений: 188
Зарегистрирован: 23.10.12

RE: Предварительная обработка веб-страниц
На сервере это делает сервер. И генерирует, и обрабатывает, и отдаёт.

Исполнитель роли Терминатора по решению суда сменил фамилию на Афроамериканоафроамериканец.
В противном случае артисту грозил штраф в $1.723 млрд.
Найти все сообщения
Цитировать это сообщение
03-02-2015, 02:00    
Сообщение: #3
Quasus

Гоф-фурьер
Сообщений: 625
Зарегистрирован: 17.06.12

RE: Предварительная обработка веб-страниц
Если сервер в смысле комп, так какая разница. На своём компе тоже, наверно, можно.

Программы-веб-серверы имеются. Парсить и формировать веб-страницы - тоже понятная задача. Я просто не очень соображу, как всё слепить в одно.
Найти все сообщения
Цитировать это сообщение
03-02-2015, 03:36    
Сообщение: #4
Bʰudʰ

Member
Сообщений: 188
Зарегистрирован: 23.10.12

RE: Предварительная обработка веб-страниц
На сервере-компе это делает сервер-программа. :)

Исполнитель роли Терминатора по решению суда сменил фамилию на Афроамериканоафроамериканец.
В противном случае артисту грозил штраф в $1.723 млрд.
Найти все сообщения
Цитировать это сообщение
03-02-2015, 06:33    
Сообщение: #5
Quasus

Гоф-фурьер
Сообщений: 625
Зарегистрирован: 17.06.12

RE: Предварительная обработка веб-страниц
В принципе, прокси-сервер чем отличается от веб-сервера + веб-клиента? Получается, что для веб-сервера домен фиксирован, а для прокси - нет. В принципе, на основе веб-сервера можно сделать прокси?
Найти все сообщения
Цитировать это сообщение
03-02-2015, 11:33    
Сообщение: #6
Agrest

井蛙 / жабенєтко в керниці
Сообщений: 1556
Зарегистрирован: 08.08.12

 
(02-02-2015 02:44)Quasus писал(а):  Прокси-сервер может это делать?
Это по определению работа прокси-сервера.

(03-02-2015 06:33)Quasus писал(а):  В принципе, прокси-сервер чем отличается от веб-сервера + веб-клиента? Получается, что для веб-сервера домен фиксирован, а для прокси - нет. В принципе, на основе веб-сервера можно сделать прокси?
Домен и для веб-сервера не фиксирован. При обычном запросе (скажем, на example.org/slon) браузер берёт домен, определяет, к какому IP-адресу он относится, и посылает по этому IP-адресу не только путь (GET /slon HTTP/1.1), но и домен (Host example.org).

Когда-то давно заголовок Host не посылался, и в результате на одном IP-адресе можно было разместить не больше одного домена. А сейчас благодать: можно хостить несколько сайтов с разными доменами на одном сервере. Это называется virtual hosts.

Кроме того, результат в том, что никакого дополнительного API по сути не нужно. Нужно просто, чтобы браузер посылал все запросы не на IP сервера, а на IP прокси-сервера, а всё остальное (путь и домен) уже есть в заголовке! То есть когда ты включаешь прокси-сервер (в моём Firefox’е Edit → Preferences, там Advanced → Network → Settings..., там Manual proxy configuration), ты указываешь именно это: что браузер должен посылать запросы не на IP, соответствующий домену, а на указанный тобой сервер и с указанным портом (скорее всего у тебя это будет localhost и какой-то произвольный незанятый порт). А дальше уже прокси-сервер действует по тому же протоколу.

Единственное дополнение в протокол — поле X-Forwarded-For. Если прокси-сервер хочет передать, что «я вообще-то прокси, на самом деле IP такой», то он может использовать это поле. Но для наших целей это не обязательно.

Вообще, готовые прокси-серверы для кастомизации должны быть. Но я как-то не разбирался. Если найдёшь что интересное — расскажи, пожалуйста.

(03-02-2015 06:33)Quasus писал(а):  В принципе, прокси-сервер чем отличается от веб-сервера + веб-клиента?
Ничем.

«билингв мусорит в обоих языках — и первом, и втором» © Python
Вебсайт Найти все сообщения
Цитировать это сообщение
04-02-2015, 07:09    
Сообщение: #7
Quasus

Гоф-фурьер
Сообщений: 625
Зарегистрирован: 17.06.12

RE: Предварительная обработка веб-страниц
Класс! По-моему, я всё понял. Теперь можно повелосипедить. :rolleyes:
Найти все сообщения
Цитировать это сообщение
04-02-2015, 13:46    
Сообщение: #8
Agrest

井蛙 / жабенєтко в керниці
Сообщений: 1556
Зарегистрирован: 08.08.12

 
Главная проблема: HTTPS так не запроксируешь. Он специально создан, чтобы у пользователя была гарантия, что страницу не читают посторонние и что она доставлена без изменений.

Там тоже можно что-то придумывать (и интернет-провайдеры некоторых государств успешно решают эту проблему; правда, браузеры показывают предупреждение о небезопасном сертификате, но есть браузеры, лишённые этого недостатка). Но мне кажется, что проще в таких случаях менять страницу пользовательскими скриптами (а если нужно передать данные — делать из юзерскрипта AJAX-запрос на свой локальный сервер).

Ну и кроме того, есть SPDY, которое тоже не HTTP и тоже так просто не запроксируешь.

«билингв мусорит в обоих языках — и первом, и втором» © Python
Вебсайт Найти все сообщения
Цитировать это сообщение
04-02-2015, 21:52    
Сообщение: #9
Quasus

Гоф-фурьер
Сообщений: 625
Зарегистрирован: 17.06.12

RE: Предварительная обработка веб-страниц
Гм. Попытался втупую сделать, чтобы сервер просто перенаправлял запрос в интернет, но что-то не взлетело. Кажется, из-за картинок. Уже стало неохота. :D Надо действительно готовые поискать.

За объяснения в любом случае спасибо, я этого ничего не знал.
Найти все сообщения
Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)