목록이론 (33)
오봉이와 함께하는 개발 블로그
4xx (Client Error) 클라이언트 오류 클라이언트의 요청에 잘못된 문법등으로 서버가 요청을 수행할 수 없다. 오류의 원인이 클라이언트에 있다. 중요!!! 클라이언트가 이미 잘못된 요청, 데이터를 보내고 있기 때문에 똑같은 재시도를 하면 무조건 실패한다. 400 Bad Request 클라이언트가 잘못된 요청을 해서 서버가 요청을 처리할 수 없다. 요청 구문, 메시지 등등 오류 클라이언트는 요청 내용을 다시 검토하고 보내야함. 예 : 요청 파라미터가 잘못되거나, API 스펙이 맞지 않을 때 백엔드 개발자는 철저하게 막아야 한다. 5xx 오류를 발생시키면 서버에서 잘못된줄 알기 때문. 401 Unauthorized 클라이언트가 해당 리소스에 대한 인증이 필요하다. 인증(Authentication) ..
3xx - 리다이렉션(Redirection) 요청을 완료하기 위해 유저 에이전트의 추가 조치가 필요할 때 오는 응답 코드다. 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 307 Temporary Redirect 308 Permanent Redirect 300번은 거의 안 쓰고, 301 ~ 308까지가 중요하다. 리다이렉션 이해 웹 브라우저는 3xx 응답의 결과에 Location 헤더가 있으면, Location 위치로 자동 이동(리다이렉트) 기존 /event를 더이상 사용하지 않고 /new-event를 사용하기로 한다. 사용자들이 북마크 등을 통해서 /event를 통해 페이지를 접속할 때 클라이언트에서..
상태 코드 클라이어트가 보낸 요청(Request)의 처리 상태를 응답(Response)에서 알려주는 기능이다. 1xx (Informational) : 요청이 수신되어 처리중 2xx (Successful) : 요청 정상 처리 3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요 4xx (Client Error) : 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5xx (Server Error) : 서버 오류, 서버가 정상 요청을 처리하지 못함 모르는 상태 코드가 나타나면? 클라이언트가 인식할 수 없는 상태코드를 서버가 반환하면? 클라이언트는 상위 상태코드로 해석해서 처리 미래에 새로운 상태 코드가 추가되어도 클라이언트를 변경하지 않아도 됨 예 299 ??? -> 2xx..
HTTP API 설계 예시 HTTP API - 컬렉션 POST 기반 등록 예 : 회원 관리 API 제공 HTTP API - 스토어 PUT 기반 등록 예 : 정적 컨텐츠 관리, 원격 파일 관리 HTML FORM 사용 웹 페이지 회원 관리 GET, POST만 지원 회원 관리 시스템 API 설계 - POST 기반 등록 리소스를 식별하는 URI는 리소스를 식별해야 한다. 리소스가 아닌 다른 것은 식별하면 안 된다. 회원 목록 /members -> GET 정렬이나 조건 검색이 필요하면 쿼리 파라미터를 이용하자. 회원 등록 /members -> POST 회원 조회 /members/{id} -> GET 회원 수정 /members/{id} -> PATCH, PUT, POST PATCH는 부분적으로 수정이 가능하지만,P..
클라이언트에서 서버로 데이터 전송 데이터 전달 방식은 크게 2가지가 있다. 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터(검색어) 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 예시 - 4가지 상황 정적 데이터 조회 이미지, 정적 텍스트 문서 동적 데이터 조회 주로 검색, 게시판 목록에서 정렬 필터(검색어) HTML Form을 통한 데이터 전송 회원 가입, 상품 주문, 데이터 변경 HTTP API를 통한 데이터 전송 회원 가입, 상품 주문, 데이터 변경 서버 to 서버, 앱 클라이언트, 웹 클라이언트(Ajax) 정적 데이터 조회 - 쿼리 파라미터 미사용 이미지, 정적 텍스트 문서 등 정적인 데이터 조회는 GET 사용 정적 데이..