2017-10-11 19 views
0

J'appelle une demande de POST (disons demande A) de mon navigateur. Et je suis en train de faire ce qui suit à mon back-end tout en réorientant la demande,Est-ce que http 307 (redirection temporaire) accepte la valeur de cookie revalidée à la fin du serveur?

1) Clear a cookie value 

2) Set 307 header value and 

3) Adding Location header with redirect url (say request B) value. 

(2) et (3) fonctionne bien.

(1) ne fonctionne pas comme prévu. Lorsque la demande B est invoquée, la valeur du cookie n'est pas effacée. Elle réutilise la valeur de la demande A. Quelqu'un peut-il me donner un aperçu de ce problème?

Répondre

1

Assurez-vous d'avoir les en-têtes Set-Cookie appropriés dans la réponse de A. Certains cadres d'application Web ne peuvent pas ajouter ces en-têtes de la façon habituelle lors de la redirection.

Je l'ai testé que Chrome et Edge (40,15063) Poignée Set-Cookie (et les cookies expectedly donc clair) à 307 réoriente en utilisant ce simple CGI:

#!/bin/sh 

echo Status: 307 Temporary Redirect 
echo "Content-Type: text/html" 
printf 'Set-Cookie: Your-Cookie=; path=/; domain=Your-Domain; expires=%s' "$(date --rfc-2822 --utc --date='1 day ago')" 
echo "Location: Your-B-url" 
echo