HTTP Method
HTTP Method는 웹 클라이언트와 서버 간의 요청과 응답을 정의하는 방식이다. 주로 GET과 POST가 사용되며, 각각의 역할과 사용 사례가 다르다.
GET
GET 메소드는 클라이언트가 서버로부터 리소스를 요청할 때 사용된다. 주로 데이터를 조회하거나, 특정 페이지를 요청하는 데 사용된다. GET 요청은 브라우저 주소창에 직접 입력하거나 하이퍼링크를 클릭할 때 발생한다.
- 특징:
- 데이터 전송: URL을 통해 데이터를 서버로 전송한다. 예를 들어,
https://example.com/search?q=python과 같은 방식으로 쿼리 파라미터를 전달할 수 있다.
- 캐싱 가능: 브라우저는 GET 요청의 응답을 캐시할 수 있어, 동일한 요청에 대해 빠르게 응답할 수 있다.
- 보안: URL에 데이터가 노출되기 때문에 민감한 정보를 전달하는 데는 부적합하다.
- 사이드 이펙트 없음: 서버의 상태를 변경하지 않는 안전한 요청이다. 즉, 여러 번 요청해도 서버의 상태에 영향을 주지 않는다.
POST
POST 메소드는 클라이언트가 서버에 데이터를 제출하거나 서버의 상태를 변경하고자 할 때 사용된다. 주로 폼 제출이나 파일 업로드와 같은 작업에 사용된다.
- 특징:
- 데이터 전송: POST 요청은 요청 본문에 데이터를 포함하여 서버로 전송한다. 이로 인해 GET 메소드와 달리 URL에 데이터가 노출되지 않는다.
- 캐싱 불가능: POST 요청은 캐싱되지 않으며, 매번 서버에서 새로운 응답을 받아야 한다.
- 보안: 데이터가 URL에 노출되지 않기 때문에 민감한 정보 전송에 적합하지만, HTTPS와 함께 사용하지 않으면 여전히 보안에 취약할 수 있다.
- 서버 상태 변경: 서버의 상태를 변경하는 작업(예: 데이터베이스에 정보 저장 등)에 주로 사용된다.
GET 메소드는 주로 데이터를 조회하는 데 사용되고, POST 메소드는 데이터를 제출하고 서버의 상태를 변경하는 데 사용된다.