Существует ли стандартный заголовок HTTP-запроса или другой индикатор запроса, когда устройство делает запрос, чтобы показать предварительный просмотр или полный дисплей?
Вариант использования для этого — такие вещи, как сброс пароля и другие однократные ссылки, которые вы хотите сделать недействительными после первого доступа. Предварительный просмотр мобильного телефона портит эту модель.
GET
запросы должны быть по определению безопасными, то есть они не приводят к изменению состояния на сервере. Поэтому запрос GET
никогда не должен ничего отменять. А так как они также идемпотентны, нет никакой разницы между выполнением одной GET
или сотни.
Чтобы ответить на ваш вопрос, в HTTP нет различия между «предварительным просмотром» GET
и «полным отображением» GET
.
Большинство механизмов сброса пароля, с которыми я знаком, используют POST
или PUT
для изменения состояния на сервере, и это не то, что будет запускаться при предварительном просмотре ссылки.
Хорошая точка зрения. Я пытался оптимизировать свой код аннулирования токена, обнаруживая отображение страницы без предварительного просмотра в одном месте, а не во всех возможных местах, где он указывает, что пользователь предпринял действие (POST). Больше упрощения обслуживания/использования кода (эта система токенов также используется для других целей, таких как проверка электронной почты и телефонных номеров). Но не только его обработка в реальных POST будет более совместимой, но, вероятно, в долгосрочной перспективе это будет более надежная конструкция, которая более надежно справляется с новыми ситуациями.
Я не против нарушения стандарта в хорошо продуманном приложении, где стандарт противостоит лучшему выбору вперед (я использовал goto к одной точке выхода в подпрограмме до того, как стал доступен try/finally - это устранило много запутанных обратных сальто). в коде, и полученный код был намного менее сложным, более читаемым и более удобным для сопровождения), но в этом случае я не думал об этом и, возможно, немного ленился.
Абсолютно. Если у вас есть GETable-ресурс, и получение его дважды является проблемой, проблема на вашей стороне.