query vs body 무엇이 더 효율적일까?

이민석·2022년 7월 13일
0

우선 query string과 body에 대해 알아보겠습니다.

기본 정의

Request 객체는 API와 통신하기 위해 세 가지 방법을 가지고 있습니다.

query string

body

JSON, XML 등의 데이터 형태로 통신하며 url에서는 확인할 수 없습니다.

query, parameter | body 차이점

query string

  1. 인수에 플랫 key:value 구조가 없는 경우
  2. 직렬화된 이진 데이터 같은, 사람이 값을 읽을 수 없는 경우
  3. 인수가 많을 때
  4. 쿼리 문자열을 사용하는 경우

body

  1. 디버깅하는 동안 보고 싶은 인수가 있는 경우
  2. 코드를 개발하는 동안 수동으로 호출할 수 있기를 원할 때
  3. 많은 웹 서비스에서 인수가 공통적인 경우
  4. 다른 콘텐츠 유형을 이미 보내고 있는 경우

query, parameter | body

query string과 body 중에 어떤 방법이 더 효율적인걸까?

저는 querystring이 효율적이라고 생각했습니다. 그 이유는 데이터를 전달하는 형태는 같지만 REST API를 생각하면 URL을 기준으로 자원을 활용해야 하기 때문이었습니다. 토큰을 사용한 인가처럼 민감한 점보를 다를 때는 당연히 자원에 표기되면 안되고 암호화를 해주어야 하지만, 공통된 자원들은 RESTFul 해야하기 때문에 효율적이라고 생각했습니다.

당연히 query string과 body 두 가지 방법에는 각각 장단점이 존재하는 것을 인지하고 있고 적재적소에 활용해야 하지만, 비교하자면 위와 같은 이유로 query string이 더 효육적이지 않을까 생각합니다. 만약 다른 의견이 있다면 자유롭게 공유하면 좋을 것 같습니다.

[참조한 글]

REST API Design Best Practices for Parameter and Query String Usage

REST API Best practices: args in query string vs in request body

profile
오늘은 무엇을 배울까

0개의 댓글