ABOUT

성능과 운영 안정성을 함께 끌어올리는 개발자입니다.

92% Positional Error Reduction
79% p95 Latency Improvement
90%+ Long Tasks Reduction

2022.02 · 한국장학재단

우수 멘티

한국장학재단 사회 리더 대학생 멘토링 IT

2022.10 · 동작구청

우수 인재상

동작구청 우수 SW 인재

2025.05 · (주) 그랩

프로그래밍 우수상

(주) 그랩 우수 프로그램 개발

2025.05 · AWSKRUG

AWS한국사용자모임 발표

AI agent 스크립트 튜닝 관련 발표

ComputerScience

Development

Engineering

Trouble Shooting

GUESTBOOK

첫 마음부터
함께 나누는 온기

방명록 작성하러 가기

SUBSCRIBE

최신소식을
편하게 만나보세요.

GET

 
 

종류

정의

클라이언트와 서버 구조를 이해하는데 필수적인 개념입니다.
GET 메서드는 HTTP의 기본이자 데이터를 안전하게 요청할 수 있고, RESTful한 API 설계에서도 빠질 수 없는 구성 요소입니다.
GET 메서드는 서버에게 리소스를 조회하도록 요청하는 HTTP 메서드입니다. 서버의 데이터를 변경하지 않고, 요청에 대한 정보를 받는 데 사용됩니다.
주로 웹 페이지나 데이터 API를 호출할 때 쓰이며, 브라우저나 툴에서 가장 자주 사용되는 메서드입니다.

배경

웹에서 데이터를 안전하게 요청한다
GET은 웹의 기본 철학인 "읽기" 행위와 일치합니다. 예를 들어 뉴스 페이지, 상품 목록, 사용자 프로필을 열람할 때 GET 요청이 발생하며, 이는 서버 상태를 변경하지 않고 데이터를 가져오기만 합니다. REST 아키텍처에서도 "READ" 작업에 해당합니다.

동작 방식

파라미터는 URL, 결과는 응답 본문에
GET 요청은 데이터를 URL의 쿼리 스트링 형태로 전달합니다. 예를 들어 다음과 같습니다:
GET /products?page=2&limit=10 HTTP/1.1
이때 클라이언트는 요청 본문 없이 URL에 데이터를 담아 전송하고, 서버는 해당 요청을 처리해 JSON 등의 포맷으로 응답을 돌려줍니다.

특징

가볍고 안전한 요청

멱등성:  동일한 요청을 여러 번 반복해도 같은 결과가 반환됩니다.

안전성: 서버의 리소스를 변경하지 않습니다.

URL 기반 파라미터: 쿼리 문자열을 통해 데이터 전달합니다.

캐시 가능: 응답이 브라우저/프록시에 저장되어 재사용 가능합니다.

Request Body 없음: 요청 본문을 사용하지 않습니다.

장점

가볍고 효율적인 정보 요청을 합니다.

서버 자원 변경 없이 안전하게 호출 가능

캐싱 및 즐겨찾기에 유리

브라우저 주소창을 통한 재호출 가능

테스트 및 디버깅이 간편함

단점

보안과 데이터 용량의 한계가 있습니다.

쿼리 문자열이 URL에 노출되어 민감한 정보 전달에 부적절

브라우저 및 서버가 URL 길이에 제한을 둠

로그나 히스토리에 남기 때문에 보안에 취약

예시

서버에 리소스를 조회합니다.
// GET 요청
fetch('/api/users')
  .then(res => res.json())
  .then(data => console.log(data));
// 특정 요소 검색
fetch('/users/123')
  .then(res => res.json())
  .then(data => console.log(data));
// 검색 기능
fetch('/search?q=apple')
  .then(res => res.json())
  .then(data => console.log(data));

 


 

728x90