정의
클라이언트와 서버 구조를 이해하는데 필수적인 개념입니다.GET 메서드는 서버에게 리소스를 조회하도록 요청하는 HTTP 메서드입니다. 서버의 데이터를 변경하지 않고, 요청에 대한 정보를 받는 데 사용됩니다.
주로 웹 페이지나 데이터 API를 호출할 때 쓰이며, 브라우저나 툴에서 가장 자주 사용되는 메서드입니다.
배경
웹에서 데이터를 안전하게 요청한다
동작 방식
파라미터는 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));