2014-12-17 2 views
0

Не уверен, что это вещь.Служить различным ресурсам на основе типа запроса?

Я хотел бы иметь возможность раздавать ссылку на GIF: http://www.example.com/this.gif

Если он вставлен в, скажем, Facebook чат, я хотел бы, чтобы это как будто я связан обычный GIF, поэтому предварительный просмотр загружается, как обычно. Однако, если пользователь напрямую обращается к gif, вставив его в свою адресную строку, я бы хотел перенаправить их на другую страницу.

В любом случае я могу это сделать?

+0

Попробуйте что-нибудь с '.htaccess', но я не думаю, что вы можете проверить происхождение запроса. – Justinas

ответ

0

Что вы описали, это не дифференциация по типу запроса (HTTP-запрос - GET в обоих случаях), а referrer. Для этого вы можете проверить заголовок Referer (sic). Когда страница содержит, например, элемент img, генерируется запрос GET с URL-адресом, указанным в заголовке Referer, если только браузер не настроен не отправлять его (возможно, но редко). Когда URL-адрес изображения вводится непосредственно в адресной строке браузера, генерируется запрос GET без заголовка Referer.

Таким образом, вы можете решить, например. чтобы сделать переадресацию, если нет заголовка Referer. Способ реализации этого зависит от программного обеспечения, используемого на стороне сервера.

+0

Я протестировал это в обоих направлениях, и я не вижу заголовок Referer нигде в объектах запроса? – opticon

+0

Как вы его протестировали? Если вы посмотрите на любую страницу, содержащую изображение и используя вкладку «Инструменты разработчика», вкладку «Сеть», вы должны увидеть заголовки запросов, содержащие строки «Referer». –

Смежные вопросы