2가지 질문, JavaScript 언어 Node.js Express 프레임워크를 사용하여 개발됨
1. 정상적인 상황에서는 페이지에서 데이터를 요청합니다. 데이터를 찾을 수 없는 경우 res.send()를 사용하여 반환해야 하거나 res.sendStatus(404)가 적절하지 않을 수 있습니다. 어떤 상황에서 서버가 404를 반환합니까?
2. 프런트 엔드는 이 404를 어떻게 처리합니까? err.response.status에 대한 판단과 경로를 404 페이지에 연결합니까? 하지만 브라우저는 항상 get이 아닌 오류를 보고합니다
404는 리소스를 찾을 수 없음을 의미합니다. RESTful 의미 체계를 사용하는 경우 리소스를 찾을 수 없으면 404를 반환해야 합니다. RESTful 의미 체계가 아닌 경우 의미 체계를 직접 만들어야 합니다. 일반적으로 프론트 엔드 처리의 편의를 위해 200을 반환하고 메시지 본문에 오류 정보를 기록합니다. 그러나 이로 인해 다른 문제가 발생할 수 있습니다.
사용하는 프레임워크에 따라 다릅니다. "하지만 브라우저는 항상 get 오류를 보고합니다. 귀하의 상황이 어떤지 모르겠습니다." 404는 애초에 실수입니다.
자신만의 API가 있다면 실제로 말하기가 더 쉽습니다. 제가 가장 싫어하는 점은 일부 웹 페이지가 브라우저에 직접 전송된다는 점입니다. 분명히 찾을 수 없지만 "오류"라는 페이지로 이동하려면 200 또는 심지어 302를 반환해야 합니다. 그 중 일부는 내가 보기도 전에 홈 페이지로 이동합니다. 링크에 추가 쉼표가 있습니다. 수동으로 변경할 수 있나요? 목록 페이지에 너무 많은 링크가 있는지 확인하려고 클릭했는데 오류가 있는 모든 링크가 동일한 페이지로 이동했습니다. 어떤 링크가 유효하지 않은지 어떻게 알 수 있나요?
백엔드 처리.
모든 경로가 일치하면 404 페이지 보내기
백엔드가 404로 응답하면 응답 본문을 반환할 수도 있습니다. 아무런 문제가 없습니다. 경로를 찾을 수 없으면 404
프런트 엔드에는 http의 404 상태를 처리하는 로직이 있어야 하며 이를 처리하는 방법은 다양합니다. 하지만 404 페이지로 넘어가는 것은 확실히 부적절합니다. 알림을 주세요
경로가 귀하의 URL을 기반으로 해당 리소스를 찾지 못해 404 일치하는 리소스를 찾을 수 없습니다
를 반환했습니다.