티스토리 뷰

GET방식

가져온다는 개념

요청하는 데이터가 HTTP Request Message의 Header부분에 url이 담겨서 전송된다. url 상 ? 뒤에 데이터가 붙어 request를 보낸다. URL 길이는 제한되어 있는데 url이라는 공간에 담겨서 전송되기 때문에 전송 데이터 양이 한정되어 있으며 형식에 맞지 않으면 인코딩해서 전달해야 한다. 또한 GET방식은 URL을 통해 모든 파라미터를 전달하기 때문에 주소창의 전달 값이 노출된다. 그래서 비밀번호와 같이 보안이 필요한 데이터에 대해서는 데이터가 그대로 url에 노출되므로 GET방식은 부적절하다. 

 

 

POST방식

수행한다는 개념

POST방식의 request는 HTTP Request Message의 Body 부분에 데이터가 담겨서 전송된다. 웹 브라우저 사용자의 눈에는 직접적으로 파라미터가 노출되지 않고 길이 제한도 없다. 때문에 바이너리 데이터를 요청하는 경우 POST방식으로 보내야 하는 것처럼 데이터 크기가 GET방식보다 크고 보안면에서 낫다. 그러나 보안적인 측면에서는 암호화를 하지 않는 이상 GET방식보다 뛰어나게 좋다고 보기 어렵다. 

 

 

GET과 POST의 차이

GET과 POST 모두 HTTP 프로토콜을 이용해 서버에 무언가 요청할 때 사용하는 방식이다. 그러나 보통 GET은 가져올 때 POST는 수행하는 역할에 활용한다. 

GETSELET 성향이 있어서 서버에서 어떤 데이터를 가져와 보여주는 용도로 활용하며 서버 값이나 상태 등을 바꾸지 않는다. 이에 비해, POST는 서버상의 데이터 값이나 상태를 바꾸기 위해서 사용하거나 추가하기 위해서 사용된다. 더 나아가, GET방식의 요청은 브라우저에서 Caching 할 수있다. 때문에 POST방식으로 요청해야 할 것을 보내는 데이터의 크기가 작고 보안적인 문제가 없다는 이유로 GET방식으로 요청한다면 기존에 Caching되었던 데이터가 응답될 가능성이 존재한다. 때문에 목적에 맞는 기술을 사용해야 한다.

 

'면접준비 > CS 기술 면접' 카테고리의 다른 글

kosmo 면접족보  (0) 2022.03.07
오버로딩과 오버라이딩  (0) 2022.03.06
세션과 쿠키의 차이점  (0) 2022.03.06
라이브러리와 프레임워크의 차이점  (0) 2022.03.06
댓글