regex — URI-перевод HTML-контента в реальном времени в C / Stack Overflow

Для разработки собственного обратного прокси-сервера (написанного на C ++) я хочу сделать перевод URI в реальном времени в HTML-контент. Например, если я хочу получить доступ к ресурсам на http://myserver/ с помощью http://my-reverse-proxy/myserver, все абсолютные и топовые ссылки вроде http://myserver/somecontent1.ext или же /somecontent2.ext должны быть изменены.

HTML-тег

<img src="/sample.png">

поэтому будет переведен на

<img src="/myserver/sample.png">

С моей точки зрения есть подходы:

1) Использование регулярных выражений и замена строк, чтобы найти все связанные теги HTML и их пути с помощью групп захвата и выполнить некоторую замену строк.

2) Разобрать весь HTML-контент, выполнить некоторые преобразования в дереве разбора и распечатать результат обратно в действительный HTML-ресурс.

И вот в чем суть этого вопроса: есть ли у вас опыт, какое решение может быть более быстрым и, возможно, даже более разумным? Вы знаете рамки, которые я мог бы использовать, чтобы не изобретать велосипед? Поскольку этот процесс следует использовать позже для ресурсов CSS и XML, он не должен быть зависимым от HTML решением.

Заранее спасибо!

0

Решение

Прокси-серверы обычно работают, будучи серверы. Они обрабатывают все HTTP-запросы, изменяют запрошенные URL-адреса, а затем передают измененный запрос на сервер на другой стороне.

Вы должны придерживаться этой парадигмы. Это гораздо проще и эффективнее, чем копаться в самих файлах. Все, что делается в режиме реального времени, может быть выполнено в точке запроса.

Также, вероятно, следует спросить: почему обычай обратный прокси? Такие вещи уже существуют.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]