Каково различие между 302 и 307 перенаправлениями?

Я думаю, вы должны заменить

<a jsf:action = "#{seminaireControl.save(seminaire)}">MODIFIER</a>

на

<h:commandLink value="MODIFIER" action="#{seminaireControl.save(seminaire)}">

Вам также может понадобиться взять h: dataTable в h: form [117 ]

<h:form>
   <h:dataTable >
   ..............
   ..............
   </h:dataTable>
<h:form>
196
задан Walkman 2 November 2015 в 12:45
поделиться

3 ответа

Различие относительно перенаправления POST , Поместить и Удалить запросы и какие ожидания сервера для пользовательского агента Поведение ( RFC 2616 ):

Примечание: RFC 1945 и RFC 2068 Укажите, что клиент не разрешен изменить метод на перенаправленном запрос. Тем не менее, самый существующий пользователь Реализации агента относятся 302, как будто Это был ответ 303, выполняющий Получить на местоположение местоположения Независимо от оригинального запроса метод. Коды состояния 303 и 307 были добавлены для серверов, которые желают сделать однозначно ясно, какой вид реакции ожидается от клиент.

Также прочитайте статью Википедии на кодах перенаправления 30x .

94
ответ дан 23 November 2019 в 05:19
поделиться
| Response               | What browsers should do   | What browsers actually do |
|------------------------|---------------------------|---------------------------|
| 302 Found              | Redo request with new url | GET with new url          |
| 303 See Other          | GET with new url          | GET with new url          |
| 307 Temporary Redirect | Redo request with new url | Redo request with new url |

Все браузеры добрались 302 неправильно. Так 303 и 307 были созданы.

╔═══════════╤════════════════════════════════════════════════╗
║           │                Switch to GET?                  ║
║ Temporary │          No            │         Yes           ║
╠═══════════╪════════════════════════╪═══════════════════════╣
║ No        │ 308 Permanent Redirect │ 301 Moved Permanently ║
╟───────────┼────────────────────────┼───────────────────────╢
║ Yes       │ 307 Temporary Redirect │ 303 See Other         ║
║           │ 302 Found (intended)   │ 302 Found (actual)    ║
╚═══════════╧════════════════════════╧═══════════════════════╝
2
ответ дан 23 November 2019 в 05:19
поделиться

В целом, я думаю, что лучше разделить каждое объявление. Это, как правило, облегчает изменение вокруг позже.

особенно когда множество переменных, как правило, предполагают, что они должны быть объединены в другой объект.

так что я склонен делать...

valueType  x = IntialValue;
valueType  y = IntialValue;
valueType  z = IntialValue;

и т.д.

-121--4648573-

В качестве генератора:

def cypher(message, key, seed):
    for element in message:
        seed = element ^ seed ^ key
        yield seed

list(cypher(message, key, initial_seed))
-121--2337698-

307 возникла из-за того, что агенты пользователя приняли поведение de facto , чтобы принимать запросы POST, которые получают ответ 302, и отправлять запрос GET в заголовок ответа Location.

Это неправильное поведение - только 303 должно привести к превращению POST в GET. Агенты пользователя должны (но не должны) придерживаться метода POST при запросе нового URL, если исходный запрос POST вернул значение 302.

307 была введена, чтобы позволить серверам дать понять агенту пользователя, что изменение метода должно не производиться клиентом при следовании заголовку ответа Location.

153
ответ дан 23 November 2019 в 05:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: