웹 기술 기초
REST의 사고방식에 따른 웹 API 설계로 적절한 것은?
- A/getUser?id=42나 /deleteUser?id=42처럼 조작 이름을 URL에 넣고, 모두 GET으로 보낸다
- B이용자 리소스를 /users/42 같은 URL로 나타내고, 조회는 GET, 삭제는 DELETE처럼 조작을 HTTP 메서드로 나타낸다
- C서버가 클라이언트마다 이전 요청의 내용을 기억해 두고, 다음 요청은 그것을 전제로 한 짧은 명령만 보낸다
정답과 해설 보기
정답: B. 이용자 리소스를 /users/42 같은 URL로 나타내고, 조회는 GET, 삭제는 DELETE처럼 조작을 HTTP 메서드로 나타낸다
REST에서는 다루는 대상을 리소스로서 URL로 나타내고, 그 리소스에 대한 조작을 GET(조회), POST(생성), PUT이나 PATCH(갱신), DELETE(삭제) 같은 HTTP 메서드로 나타냅니다. 예를 들어 GET /users/42로 리소스를 조회하고, POST /users로 새로운 이용자를 만들면 서버는 201 Created와 새 리소스의 URL을 돌려줍니다. 각 요청은 처리에 필요한 정보를 모두 포함하는 무상태 요청으로 합니다. 삭제 같은 조작을 GET으로 하면 링크 미리 읽기나 크롤러의 접근만으로 데이터가 사라질 우려가 있습니다.