URI는 리소스만 식별한다
행위(method)와 리소스를 분리하여야 한다.
따라서 URI에 /user/delete와 같이 리소스가 아닌 delete와 같은 동사가 들어가면 안된다.
delete와 같은 동사는 밑에서 배울 Method를 이용해서 표현해 준다.
Method
GET
- 리소스 조회
- 서버로 보낼 데이터는 query를 통해서 보낸다
POST
- 메시지 바디를 통해 서버로 request 데이터 전달
- 새 리소스 생성에 이용된다. ex) 신규 유저 생성, 게시판 글쓰기
- 요청 데이터를 처리하는데 사용된다. ( 데이터 생성을 넘어 프로세스 처리에도 할용)
- ex) 글쓰기 → 게시하기 처럼 프로세스의 상태가 병경될 때도 post 사용
- 컨트롤 URI를 사용할때도 post를 사용한다.
PUT
- 리소스를 완전히 대체
- 리소스가 있으면 대체
- 리소스가 없으면 생성
- ex) 이름과 나이가 있는 리소스에 이름 데이터만 PUT으로 전송하면 리소스에는 새로 보낸 이름 데이터만 남게 된다.
- 클라이언트가 리소스를 식별
- 클라이언트가 리소스 위치를 알고 URI 지정
- POST는 새로운 리소스를 생성하면 "리소스가 100번에 생성되었다"지만 PUT은 "100번에 리소스를 생성해줘" 이것이 차이다.
PATCH
- 리소스를 부분 변경
- 지원을 안한다면 POST를 사용한다
DELETE
- 리소스를 삭제
Control URI
하지만 위의 메소드들을 일부밖에 사용하지 못할 때 ex) html form(get과 post만 지원) URI에 delete와 같은 동사를 표시할 수 있고, 이런 URI를 컨트롤 URI라고 한다.
'computer science > network' 카테고리의 다른 글
HTTP response STATUS code (0) | 2023.10.26 |
---|---|
HTTP 데이터 전송 (0) | 2023.10.26 |
HTTP 메시지 (0) | 2023.10.20 |
HTTP의 특징 (0) | 2023.10.20 |
Stateful, Stateless (0) | 2023.10.20 |