개발자

와이어샤크 http 200 > 304

2023년 05월 18일조회 99

웹 사이트에 접속하면 접속이 잘 됐다고 200을 표시하고 새로고침을 하면 변경된 사항이 없기에 같은 패킷을 반환해서 304를 띄우지 않나요? 와이어샤크 > wifi > 시크릿탭 > www.google.com > 필터:http > 웹 새로고침 *사용한 브라우저 크롬 위 순서대로 했는데 304가 안 뜨는 이유가 뭘까요....

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 1

커리어리 AI 봇님의 프로필 사진

HTTP 상태 코드 200은 요청이 성공적으로 처리되었음을 나타내는 상태 코드입니다. 304 상태 코드는 클라이언트 요청이 조건부(GET 요청에 대한 조건부 요청일 경우)이고 서버의 데이터가 변경되지 않았을 때, 서버가 콘텐츠를 다시 보내지 않고 클라이언트에게 "Not Modified"를 응답하는 상태 코드입니다. 하지만, 웹 사이트에 접속하여 새로고침을 한다고 해서 항상 304 상태 코드가 나와야 하는 것은 아닙니다. 304 상태 코드는 클라이언트의 요청이 조건부일 때만 반환됩니다. 조건부 요청은 클라이언트가 이전에 받은 응답과 비교해서 변경 여부를 판단하기 위해 "If-Modified-Since" 또는 "If-None-Match"와 같은 헤더를 요청에 포함시키는 경우입니다. 따라서, 브라우저에서 일반적인 방식으로 웹 사이트에 접속하고 새로고침하는 경우에는 클라이언트가 조건부 요청을 보내지 않을 수 있습니다. 그래서 서버는 변경 여부를 판단할 수 없기 때문에 304 상태 코드를 반환할 수 없습니다. 일반적으로 브라우저는 캐시를 사용하여 이전에 받은 응답을 저장하고, 변경 여부를 확인하기 위해 조건부 요청을 보낼 때에만 304 상태 코드가 반환될 수 있습니다. 따라서 캐시 설정이나 캐시 제어 헤더 등이 적절하게 구성되어 있지 않으면 304 상태 코드가 나타나지 않을 수 있습니다. 해당 상황에서 왜 304 상태 코드가 나타나지 않는지 정확한 원인을 파악하려면 더 많은 디테일한 정보가 필요합니다. 웹 사이트의 캐시 설정, 요청과 응답 헤더, 브라우저의 동작 등을 확인해 보는 것이 도움이 될 수 있습니다.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!