김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식 강의 수강 내용을 정리하기 위한 글입니다.
따라서, 좋은 URI는 리소스만 식별되고, 해당 리소스에 대한 행동(등록, 삭제, 수정, 목록 등)을 따로 분리시켜야 한다. 이때 행동에 대한 구분을 도와주는 것이 HTTP 메서드이다.
GET /search?q=hello&hl=ko HTTP/1.1
Host: www.google.com
POST /members HTTP/1.1
Content-Type: application/json
{
"username": "hello",
"age": 20
}
PUT /member/100 HTTP/1.1
Content-Type: application/json
{
"username": "hello",
"age": 20
}
리소스를 대체 ( 파일 덮어쓰기 ! )
POST와의 차이점
클라이언트가 리소스의 위치를 알고 URI를 지정한다!
POST의 경우 서버에서 리소스의 위치 할당
PUT은 리소스를 완전히 대체하기 때문에 주의가 필요하다.
(Ex userID와 userPw가 있을때 PUT 메서드로 userID를 덮어쓸 경우 userPw는 PUT에 정의되지 않았기 때문에 삭제된다)
PATCH /members/100 HTTP/1.1
Conetent-Type: application/json
{
"age": 50
}
DELETE /members/100 HTTP/1.1
Host: localhost:8080