웹 기술 기초

REST의 사고방식에 따른 웹 API 설계로 적절한 것은?

  1. A/getUser?id=42나 /deleteUser?id=42처럼 조작 이름을 URL에 넣고, 모두 GET으로 보낸다
  2. B이용자 리소스를 /users/42 같은 URL로 나타내고, 조회는 GET, 삭제는 DELETE처럼 조작을 HTTP 메서드로 나타낸다
  3. 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으로 하면 링크 미리 읽기나 크롤러의 접근만으로 데이터가 사라질 우려가 있습니다.

이 분야 연습하기 분야로 돌아가기

웹 기술 기초의 다른 문제

  1. 브라우저에서 https://www.example.com:8443/docs/guide.html?lang=ja#install을 열었다. 이 URL 중 서버로 보내는 요청에는 포함되지 않고, 페이지를 읽어 들인 후 브라우저 안에서만 사용되는 부분은?
  2. URL의 쿼리에 일본어 문자 'あ'를 넣기 위해, 이 문자를 UTF-8로 나타낸 바이트열(E3 81 82)을 퍼센트 인코딩으로 나타낸다. 결과로 올바른 것은?
  3. 채팅 앱에서 새 메시지를 서버에서 브라우저로 즉시 전달하고 싶다. WebSocket에 대한 설명으로 올바른 것은?
  4. 온라인 결제 서비스에서 결제가 완료된 것을 가맹점 서버가 즉시 알고 싶어 한다. 결제 서비스가 미리 등록된 가맹점의 URL로 HTTP POST로 통지를 보내는 방식(Webhook)에 대한 설명으로 올바른 것은?
  5. 브라우저에서 사용되는 DOM(Document Object Model)에 대한 설명으로 올바른 것은?