기본 개념
- GET과 POST는 HTTP 프로토콜의 주요 요청 메서드
- GET은 서버로부터 정보를 조회하는 데 사용됨
- 예를 들면, 웹 페이지 로드, 검색 쿼리 전송 등에 사용됨
- POST는 서버로 데이터를 제출하는 데 사용됨
- 예를 들면, 폼 제출, 파일 업로드 등에 사용됨
정리
GET
- GET 메서드는 주로 데이터를 요청하고 조회하는 데 사용됨
- URL에 파라미터가 노출되며, 캐싱이 가능함
- 'http://naver.com/serch?query=keyword'
- URL 길이에 제한이 있어 대량의 데이터 전송에 적합하지 않음
- 응답이 캐시될 수 있어 동일한 요청에 대해 빠른 응답 가능
- 멱등성을 가짐 (같은 요청 여러 번 보내도 서버의 상태가 변하지 않음)
- 브라우저 히스토리가 남아 뒤로 가기 가능
POST
- 반면, POST 메서드는 서버로 데이터를 제출하는 데 사용됨
- 요청 본문(body)에 데이터를 포함시킴
- POST는 더 많은 데이터를 전송할 수 있고, 보안적으로 더 안전함
- 일반적으로 캐시되지 않아 매번 서버에 새로운 요청을 보냄
- 멱등성을 가지지 않음 (같은 요청 여러 번 보내면 서버의 상태가 변할 수 있음)
- 브라우저 히스토리에 남지 않아 뒤로 가기 시 데이터 재전송 경고가 발생할 수 있음
- 실제 개발에서는 데이터 조회, 검색 기능에는 GET을 사용
- 로그인, 회원가입, 게시글 작성 등 서버의 상태를 변경하는 작업에는 POST를 주로 사용함
- 이를 통해 웹 애플리케이션의 보안성, 성능, 사용자 경험을 최적화할 수 있음
용어 정리
- 멱등성
- 동일한 요청을 여러 번 보내도 서버의 상태가 변하지 않는 특성
- 즉, 같은 요청을 해도 항상 같은 결과를 얻을 수 있음
- 캐싱
- 자주 사용되는 데이터를 임시로 저장해두어 빠르게 접근할 수 있게 하는 기술
- 웹에서는 브라우저나 중간 서버가 응답을 저장해두고 재사용 하는 것을 의미함
- HTTP 프로토콜
- Hypertext Transfer Protocol의 약자
- 웹에서 클라이언트와 서버 간의 통신을 위한 규약
- 요청과 응답 구조로 이루어져 있음