2014-11-05 4 views
1

Недавно я столкнулся с услугой сокращения URL-адресов, которая называется t1p.de, которая предлагает «derefer (r) ing» URL-адресов. Обнаружив эту интригующе, я подумал, что попробую это сам. Используя chrome's debug/develop view [F12], он сообщает мне, что на веб-сайте используется перенаправление http-301 с постоянным перемещением.Как работают сервисы «dereferrer»?

Использование Spring Я написал небольшой контроллер, который возвращает RedirectView, который является эквивалентом Spring/способом выполнения перенаправления http 301.

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

Как эта служба и/или любая другая служба могут заменить референта?
Как я мог выполнить это в java с использованием технологии Java EE и/или Spring?

+0

[ 'RedirectView'] (http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/view/RedirectView.html), похоже, отвечает на 303 (* См. Other *), а не 301 (*Переехал навсегда*). Это может быть проблемой? Попробуйте сыграть с ['@ResponseStatus (значение = HttpStatus.MOVED_PERMANENTLY)'] (http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/bind/annotation/ResponseStatus. HTML). – sp00m

+0

@ sp00m интересно, теперь он возвращает мне 302. Хотя я уверен, что он вернул «301», когда я написал вопрос. –

+0

@ sp00m nvm, вы можете использовать 'setStatusCode (HttpStatus.MOVERD_PERMANENTLY)', чтобы изменить код ответа с '302' на' 301'. Хотя это ничего не меняет в отношении сокрытия ссылки. –

ответ

0

Этот «дирректор (r) ing» в основном представляет собой взлом. Один простой способ сделать это (и только один я нашел), чтобы добавить информацию заголовка в возвращаемом HTML страницы, направляя браузер немедленно обновить и вызвать новую страницу:

<head> 
    <meta http-equiv="refresh" content="0;URL=http://google.com" /> 
</head> 
Смежные вопросы