- 해당 게시물은 인프런 - "모든 개발자를 위한 HTTP 웹 기본 지식" 강의를 참고하여 작성한 글 입니다.
- 유료강의이므로 자세한 내용은 없고, 간단한 설명 위주로 정리했습니다.
강의 링크 -> 김영한 - 모든 개발자를 위한 HTTP 웹 기본 지식 (유료강의)
POST - 저장
메시지 바디를 통해 전송
ex) 회원 가입, 상품 주문, 데이터 변경
GET - 조회
쿼리 파라미터를 통해 전송
회원 목록 /members -> GET
회원 등록 /members -> POST
회원 조회 /members/{id} -> GET
회원 수정 /members/{id} -> PATCH, PUT, POST
회원 삭제 /members/{id} -> DELETE
컬렉션(Collection)
- 서버가 관리하는 리소스 디렉토리
- 서버가 리소스의 URI를 생성하고 관리
- /members
파일 목록 /files -> GET
파일 조회 /files/{filename} -> GET
파일 등록 /files/{filename} -> PUT
파일 삭제 /files/{filename} -> DELETE
파일 대량 등록 /files -> POST
스토어(Store)
- 클라이언트가 관리하는 리소스 저장소
- 클라이언트가 리소스의 URI를 알고 관리
- /files
회원 목록 /members -> GET
회원 등록 폼 /members/new -> GET
회원 등록 /members/new, /members -> POST
회원 조회 /members/{id} -> GET
회원 수정 폼 /members/{id}/edit -> GET
회원 수정 /members/{id}/edit, /members/{id} -> POST
회원 삭제 /members/{id}/delete -> POST
HTML FORM
- GET, POST만 지원하므로 제약이 있음
- AJAX 같은 기술을 사용해서 해결 가능
- POST의 /new, /edit, /delete가 컨트롤 URI
상태 코드
클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능
요청 성공
ex) GET 페이지 요청
요청 성공해서 새로운 리소스가 생성됨
ex) POST 요청하여 리소스 생성
요청이 접수되었으나 처리가 완료되지 않았음
ex) 요청 접수 후 1시간 뒤에 배치 프로세스가 요청을 처리함
서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음
ex) 웹 문서 편집기에서 save 버튼
요청을 완료하기 위해 유저 에이전트의 추가 조치 필요
리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있음(MAY)
301과 기능은 같음
리다이렉트시 요청 메서드와 본문 유지(처음 POST를 보내면 리다이렉트도 POST 유지)
리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있음(MAY)
302와 기능은 같음
리다이렉트시 요청 메서드와 본문 유지(요청 메서드를 변경하면 안된다. MUST NOT)
302와 기능은 같음
리다이렉트시 요청 메서드가 GET으로 변경
클라이언트에게 리소스가 수정되지 않았음을 알려준다. 따라서 클라이언트는 로컬PC에 저장된 캐시를 재사용 (캐시로 리다이렉트)
클라이언트의 요청에 잘못된 문법등으로 서버가 요청을 수행할 수 없음
클라이언트가 잘못된 요청을 해서 서버가 요청을 처리할 수 없음
ex) 요청 구문, 메시지 등 오류
클라이언트가 해당 리소스에 대한 인증(Authentication)이 필요함
서버가 요청을 이해했지만 승인을 거부함
ex) 접근 권한이 불충분한 경우
요청 리소스를 찾을 수 없음
서버 문제로 오류 발생, 애매하면 500 오류
서비스 이용 불가
지금까지 김영한 - 모든 개발자를 위한 HTTP 웹 기본 지식 (유료강의) 강의를 참고하여 HTTP 메서드 활용, HTTP 상태코드 에 대해 공부하였다.