IT/면접

Q. GET, POST의 개념과 데이터 흐름

뀨뿌뀨뿌 2023. 8. 15. 17:32

❓GET

개념
- GET은 주로 서버에서 데이터를 조회하기 위해 사용됨

데이터 흐름
- 사용자(클라이언트)가 웹 브라우저 주소창에 URL과 함께 쿼리스트링 형태로 파라미터를 입력하거나, 웹 페이지의 링크를 클릭함
- 이 요청이 웹 서버에 도달하면, 서버는 해당 요청을 해석하여 필요한 데이터나 페이지를 찾음
- 서버는 이 데이터나 페이지 정보를 응답으로 클라이언트에게 전송
- 클라이언트는 받은 응답을 웹 브라우저에 렌더링하여 사용자에게 보여줌

❓POST

개념
- POST는 서버에 데이터를 제출하기 위해 사용
ex) 웹 폼을 통한 회원가입이나 글 작성 시 사용됨

데이터 흐름
- 사용자가 웹 폼에 데이터를 입력하고 제출 버튼을 클릭하면 이 데이터는 요청 본문에 포함되어 서버로 전송됨
- 웹 브라우저는 이 데이터를 HTTP 요청 본문에 포함하여 웹 서버에 POST 요청을 전송. 이때 URL에 데이터가 노출되지 않음
- 서버는 받은 요청의 본문에 있는 데이터를 해석하고, 이를 기반으로 필요한 작업(데이터베이스에 데이터 저장 등)을 수행함
- 작업이 완료된 후, 결과를 클라이언트에게 응답으로 전송합니다. 이는 새로운 페에지로의 리다이렉트, 메시지 표시 등의 형태가 될 수 있음
- 클라이언트는 받은 응답을 처리하여 적절한 행동을 취하거나 사용자에게 결과를 보여줌

GET은 주로 읽기 동작에 POST는 쓰기 동작에 각각 사용되며 데이터 흐름과 처리 방식에 차이가 있음

 

GET 메소드는 웹 서버에서 정보를 조회하는 데 주로 사용됩니다. 이때 사용자는 웹 브라우저의 주소창에 URL과 함께 필요한 정보를 쿼리스트링 형태로 전달합니다. 이러한 특성 때문에 주소창을 통해 전송되는 정보는 직접 확인 가능합니다. 그러나 이 방법은 URL의 길이 제한과 함께 민감한 정보가 노출될 수 있는 보안적인 문제점을 가지고 있습니다.
반면에, POST 메소드는 데이터를 서버에 제출하거나 업데이트할 때 사용됩니다. 예를 들면, 웹 폼을 통해 회원가입 정보나 게시글을 작성할 때 사용됩니다. POST 메소드를 사용하면 데이터는 요청 본문 내에 포함되어 전송되기 때문에 URL에서는 보이지 않게 됩니다. 이 특성은 GET보다 보안적인 측면에서 우수하다고 볼 수 있습니다. 하지만, 이 데이터 역시 암호화되지 않은 상태로 전송될 경우 위험할 수 있으므로, HTTPS와 같은 암호화된 연결을 사용하는 것이 권장됩니다.
결론적으로, GET은 주로 데이터 조회에, POST는 데이터 제출에 사용되며, 둘의 주요 차이점은 데이터의 흐름과 처리 방식에 있습니다. 각각의 특성과 용도를 이해하고 적절한 상황에 사용하는 것이 중요합니다.