주소 하나가 요청 메서드를 여러 개 가질 수 있습니다. GET 메서드의 /user 주소로 요청을 보내면 사용자 정보를 가져오는 요청이라는 것을 알 수 있고, POST 메서드의 /user 주소로 요청을 보내면 새로운 사용자를 등록하려 한다는 것을 알 수 있습니다. 만약 위의 메서드로 표현하기 애매한 로그인 같은 동작이 있다면 그냥 POST를 사용하면 됩니다.
이렇게 주소와 메서드만 보고 요청의 내용을 알아볼 수 있다는 것이 장점입니다. 또한, GET 메서드 같은 경우에는 브라우저에서 캐싱(기억)할 수도 있어 같은 주소로 GET 요청을 할 때 서버에서 가져오는 것이 아니라 캐시에서 가져올 수도 있습니다. 이렇게 캐싱이 되면 성능이 좋아집니다.
▲ 그림 4-6 REST
그리고 HTTP 통신을 사용하면 클라이언트가 누구든 상관없이 같은 방식으로 서버와 소통할 수 있습니다. iOS, 안드로이드, 웹, 다른 서버가 모두 같은 주소로 요청을 보낼 수 있습니다. 즉, 서버와 클라이언트가 분리되어 있다는 뜻입니다. 이렇게 서버와 클라이언트를 분리하면 추후에 서버를 확장할 때 클라이언트에 구애되지 않아 좋습니다.