브라우저가 리디렉션 된 위치로 보내야한다는 HTTP 리디렉션으로 정보를 전송합니까?

StackOverflow https://stackoverflow.com/questions/961907

문제

예를 들어, 302 (또는 303)의 요청에 응답하고 브라우저에 주어진 위치에 대한 요청을하도록 알리는 것을 상상해보십시오. HTTP 302, HTTP 302로 보낼 수있는 헤더가 있습니까? 브라우저의 후속 요청에 해당 헤더가 포함되도록합니까?

리디렉션에서와 같이 위치 헤더 로이 작업을 수행 할 수 있다는 것을 알고 있습니다. URL의 정보를 쿼리 문자열로 지정합니다. 그러나 더 나은 방법이 있는지 궁금합니다. 합법적 인 시나리오가되어야합니다. .

'콘텐츠가 움직였다.

나는 큰 지방을 추측하고있다!

미리 감사드립니다.


편집하다

그 이유는 데이터를 게시하고 허용되지 않는 경우 Get URL 및 Post URL이있는 PRG 패턴과 관련하여 서버가 GET로 리디렉션하고 '마법'을 수행하기 위해 일부 '마법'을 수행합니다. 대부분의 세션 상태를 사용하여 변수를 저장하는 '데이터 보내기'.

그러나 이것은 ~할 수 있다 이러한 PRG 요청이 많이 발생하는 시나리오의 고장, 이것은 일반적인 시나리오가 아니며 일반적으로 아무도 이것에 대해 걱정할 필요가 없습니다. 그러나 그렇게한다면 요청을 식별하는 방법이 필요합니다. 쿼리 문자열 매개 변수는 302로 보냅니다. 해당 요청에 따라 특정 항목을 세션 상태에 넣을 수 있습니다.

문제는 URL에서 '요청 키'를 제거하려고 시도하고 더 암시 적으로 만드는 것입니다. 쿠키가 작동하는 것처럼 보이지만 나사를 더 작게 만드는 창만 만듭니다.

내가 지정한 '위치'를 가면이 매개 변수를 보내는 것이 좋을 것입니다.


편집하다

그냥, 나는 브라우저가 임의의 헤더를 위치로 보내도록 시도하지는 않지만, 요청의 컨텍스트를 힌트 컨텍스트 (QueryString 매개 변수) 할 수 있도록 설계된 헤더가있는 경우.

도움이 되었습니까?

해결책

리디렉션 응답 자체에는 데이터가 포함되어 있지 않습니다. 쿼리 매개 변수가있는 URL을 사용하여 리디렉션 할 수 있지만 새 "위치"는 해당 매개 변수를 소비하는 방법을 알아야합니다.

다른 팁

아니요, 불가능합니다. 당신은 고객을 무언가로 강요 할 수 없습니다. "이것은 올바른 위치는 아니지만 대신 해당 위치를 시도해보십시오"라고 말할 수 있습니다. 그러나 클라이언트가 동일한 요청이나 다른 요청을 해당 새 위치로 보낼 것이라고 보장하지는 않습니다. 그리고 클라이언트에게 새 위치에 대한 후속 요청에 특정 헤더 필드를 추가하도록 지시하는 것도 불가능합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top