2017-03-24 7 views
2

데이터를 검색하고 시리얼 라이저를 사용하여 JSON 응답을 렌더링하기 위해 DB에 액세스하는 레일 컨트롤러가 있다면 레일이 304로 응답하게하려면 어떤 조건이 충족되어야합니까?레일스는 304 상태로 언제 응답해야하는지 어떻게 알 수 있습니까?

현재 검색된 이전 응답을 비교해야하는 경우 어떤 종류입니까?

+0

질문의 명확성. 나는 마지막 요청 이후 렌더링 된 데이터 (몸체)가 변경되지 않았다는 것을 레일이 어떻게 결정하는지 이해하는데 관심이 있습니까? – antiplayer

답변

0

동일한 요청자의 이전 요청과 현재 요청에서 Cache-Control, Content-Location, Date, ETag, Expires 및 Vary http 헤더 값에 대한 서버 찾기.

모든이 304 응답이 그렇지 않은 내용 변경 반환하고 200

당신은 자세한 내용은 https://httpstatuses.com/304 볼 수 있습니다 반환 동일합니다.

+0

내가 가진 질문은 레일스가 JSON 데이터가 마지막 요청 이후 변경 사항에 응답하는 것을 어떻게 알 수 있습니까? 특히 현재 시간에 민감한 데이터를 직렬화하는 경우. – antiplayer

+0

레일즈 서버는 요청 객체를보고 이전 객체와 비교합니다. 특히 캐시 제어. 요청에 캐시를 false로 설정하면 매번 새로 고침 된 데이터가 반환됩니다. 새로 고침 된 데이터에 대한 자세한 내용은 http://stackoverflow.com/questions/5502002/jquery-ajax-producing-304-responses-when-it-shouldnt를 참조하십시오. –