본문 바로가기

기술면접

16_GET, POST 방식의 차이점에 대해서 설명해주세요.

GET과 POST는 HTTP 프로토콜에서 사용되는 두 가지 주요한 메서드(Methods) 중에 하나입니다. 이 두 메서드는 웹 애플리케이션에서 클라이언트와 서버 간의 데이터 전송에 사용됩니다.


✅ GET 방식:
1. 데이터 전송 방식:

GET 방식은 데이터를 URL의 쿼리 문자열(Query String)에 포함하여 전송합니다. 이는 URL 뒤에 "?" 기호를 사용하고, 그 뒤에 key=value 쌍을 '&'로 구분하여 나열합니다.
2. 보안: 

GET 요청은 URL에 데이터를 노출시키므로 보안에 취약합니다. 사용자 이름, 비밀번호와 같은 민감한 정보를 GET으로 전송하는 것은 권장되지 않습니다.
3. 캐싱:

GET 요청은 캐시될 수 있습니다. 동일한 GET 요청이 여러 번 발생할 경우, 이전 요청에서 받은 응답이 캐시되어 더 빠르게 처리될 수 있습니다.
4. 사용 사례:

주로 데이터를 검색하거나 조회할 때 사용합니다. 예를 들어, 검색 결과 페이지, 블로그 게시물 조회 등에 사용됩니다.

 

✅ POST 방식:
1. 데이터 전송 방식:

POST 방식은 HTTP 요청의 본문에 데이터를 담아 전송합니다. 이는 일반적으로 HTML의 <form> 요소를 통해 이루어집니다.
2. 보안: 

POST 요청은 URL에 데이터를 노출시키지 않기 때문에 GET 방식보다 보안성이 높습니다. 비밀번호와 같은 민감한 정보를 전송할 때 사용됩니다.
3. 캐싱: 

POST 요청은 캐시되지 않습니다. 매번 새로운 요청이 서버로 전송되며, 응답도 캐시되지 않습니다.
4. 사용 사례: 

주로 데이터를 서버로 전송하여 처리하는 경우에 사용됩니다. 예를 들어, 로그인 정보 전송, 사용자가 양식을 작성하여 데이터를 서버로 제출하는 경우 등에 사용됩니다.


요약하면, GET은 주로 데이터를 요청하고 조회하는데 사용되며, POST는 주로 데이터를 서버에 제출하여 처리하는데 사용됩니다. 보안과 캐싱 측면에서도 두 방식은 차이가 있으므로 적절한 상황에 맞게 선택해야 합니다.