Ответ 1
Ознакомьтесь с IAB (Interactive Advertising Bureau)
У них есть спецификации на некоторые общепринятые вещи, такие как форматы рекламных баннеров. Похоже, что они занимаются главным образом вопросами бизнеса и меньше касаются технических/конкретных особенностей.
Простейшая реализация просто указывает на изображение с другого сервера. Этот сервер определит, на каком сайте отображается реклама (из заголовка "Referer", или из идентификатора или токена, переданного с запросом на изображение). Затем изображение возвращается и просматривается просмотр страницы. Если зритель нажимает на объявление, ссылка, также указывающая на сервер объявлений, будет записывать "щелчок", а затем пересылает запрос рекламодателю.
База данных может выглядеть так (например, только упрощенно):
Pages +---------+----------------+ | page_id | name | +---------+----------------+ | 1 | mycoolsite.com | +---------+----------------+ Advertisements +-----------------+------------------+--------------------------------+ |advertisement_id | image_name | target_url | +-----------------+------------------+--------------------------------+ | 1 | banner1_468.png | http://new-amazing-product.com | +-----------------+------------------+--------------------------------+ Activity +--------------+--------------------+--------+--------+ | page_id | advertisement_id | views | clicks | +--------------+--------------------+--------+--------+ | 1 | 1 | 0 | 0 | +--------------+--------------------+--------+--------+
На странице, на которой будет отображаться добавление, вы поместите это в html:
<iframe src="http://your-ad-server.com/ads/image?site=1" />
Когда пользователь просматривает страницу, запрос на изображение отправляется на рекламный сервер. Рекламный сервер будет искать запрос, выбрать рекламу, чтобы показать (многие патентованные алгоритмы здесь), записать запрос и, наконец, вернуть ответ.
Activity +--------------+--------------------+--------+--------+ | page_id | advertisement_id | views | clicks | +--------------+--------------------+--------+--------+ | 1 | 1 | * 1 * | 0 | +--------------+--------------------+--------+--------+
Ответ может содержать следующее (полученное из базы данных):
<a href="http://your-ad-server.com/ads/click?id=1">
<img src="http://your-ad-server.com/ads/banner1_468.png" />
</a>
Теперь изображение загружается и отображается на странице. Если пользователь решает щелкнуть по нему, снова запрос отправляется на сервер объявлений, который записывает клик и, наконец, перенаправляет запрос на рекламируемую страницу.
GET /ads/click?id=1 301 Moved Permanently Location: http://mycoolsite.com
Actvity +--------------+--------------------+--------+--------+ | page_id | advertisement_id | views | clicks | +--------------+--------------------+--------+--------+ | 1 | 1 | 1 | * 1 * | +--------------+--------------------+--------+--------+