[Http] get 표준 방식

HOU·2024년 9월 4일
post-thumbnail

HTTP 표준에서 GET 요청은 서버로부터 데이터를 요청하는 데 사용됩니다. 중요한 것은 GET 요청은 부작용이 없어야 한다는 것입니다. 즉, 서버의 상태를 변경하지 않아야 하며, 단순히 데이터를 조회하거나 가져오는 목적으로 사용됩니다.

HTTP GET 요청의 표준:

  1. 데이터 전달 방법: 쿼리 파라미터 사용

    • GET 요청에서 클라이언트는 서버에 데이터를 전달하기 위해 쿼리 파라미터를 사용합니다.

    • 쿼리 파라미터는 URL에 포함되며, ? 뒤에 key=value 쌍으로 전달됩니다. 여러 개의 파라미터는 &로 구분됩니다.

    • 예를 들어, 사용자의 ID를 서버로 전달하여 해당 사용자의 정보를 가져오고자 할 때, URL을 다음과 같이 작성합니다:

      GET /users?id=12345 HTTP/1.1
      Host: example.com
    • 이 요청에서 id=12345가 서버로 전달됩니다. 서버는 이 파라미터를 읽고, 해당 사용자의 정보를 반환할 수 있습니다.

  2. 본문(body) 없이 요청

    • GET 요청은 본문(body)을 가지지 않는 것이 표준입니다. 즉, 요청의 데이터는 모두 URL에 포함된 쿼리 파라미터를 통해 전달되어야 합니다.
    • HTTP 표준에 따라 대부분의 서버와 클라이언트(브라우저 등)는 GET 요청의 본문을 무시하거나 허용하지 않습니다.
  3. 안전하고 반복 가능한 요청

    • GET 요청은 안전한(Safe) 요청이어야 합니다. 즉, 서버의 상태를 변경하지 않는 요청이어야 합니다. 예를 들어, 데이터 조회, 검색, 필터링과 같은 작업에 적합합니다.
    • GET 요청은 반복 가능한(Idempotent) 요청이어야 합니다. 동일한 GET 요청을 여러 번 실행해도 서버의 상태는 변하지 않으며 동일한 결과를 반환해야 합니다.

표준 예시: URL 쿼리 파라미터를 사용하는 GET 요청

GET /search?q=react&sort=recent HTTP/1.1
Host: example.com

위의 예시는 react라는 검색어로 최근 순으로 정렬된 결과를 가져오는 GET 요청입니다. q=reactsort=recent가 쿼리 파라미터로 URL에 포함되어 있습니다.

요약

  • GET 요청의 표준은 쿼리 파라미터를 사용하여 데이터를 서버에 전달하며, 본문(body)을 가지지 않는다는 것입니다.
  • GET 요청은 안전하고 반복 가능한 요청이어야 합니다. 즉, 서버의 상태를 변경하지 않고, 동일한 요청이 항상 동일한 결과를 반환해야 합니다.
  • 쿼리 파라미터는 URL에 포함되며, 서버에 데이터를 전달하는 표준적인 방법입니다.

이 표준을 따른다면, 대부분의 서버 및 클라이언트 환경에서 호환성과 일관성을 유지할 수 있습니다. 만약 본문이 필요한 요청이 있다면, POST, PUT, DELETE와 같은 다른 HTTP 메서드를 사용하는 것이 적절합니다.

profile
하루 한 걸음 성장하는 개발자

0개의 댓글