본문 바로가기
프로그램 개발/리눅스

[리눅스/linux] POST GET 차이점

by 코딩히어로 2020. 4. 17.

서버 프로그램을 개발함에 있어 절대 떼어놓고 설명할 수 없는

 

POST/GET 방식에 대해 알아보자

 

흔히말하는 HTTP 프로토콜을 통해 서버와 통신을 할 때

 

POST 방식 GET 방식 이라는 것들이 등장하게 된다

 

그럼 기본적인 개념은 어떤지 알아보자

 

먼저 GET방식은

 

주소 url 에 값이 ?뒤에 쌍으로 이어붙여 보내는 방식

 

POST 방식은

 

주소 url 에 값이 표시되지 않고 body라는 몸체에 숨겨서 보내는 방식

 

즉 실제로 보내지는 url 의 길이는 POST방식이 훨신 짧고 간단한데

 

그럼 POST방식을 쓰면 되지 않느냐..?

 

자 이걸 논하기 전에 먼저 이 두가지 방식이 가지는 차이점에 대해 먼저 알아볼 필요가 있다

 

처음 이 두가지를 접하면 너무도 당황스러운데 그냥 

 

편한대로 쓰면 되지 않느냐 하지만 이러한 문제를 정리하기 위해

 

개발자들 사이에 일종의 약속을 정하게 되는데

 

GET은 가져오는 것이고 POST는 수행하는 것

 

이 개념만 잘 생각하고 있으면 상황에 따라서 선택하는게 어렵진 않다

 

즉 GET은 서버에서 어떤 데이터를 가져와서 보여준다거나 하는 용도이지 서버의 값이나

 

상태등을 변경하는 일을 수행하진 않는다

 

게시판의 리스트라던지 글보기 기능 같은 것이 여기에 해당하는 것이다

 

반면 POST는 서버의 값이나 상태를 바꾸기 위해서 사용한다

 

글쓰기를 하면 글의 내용이 데이터베이스에 저장되고 수정하면 데이터값이 수정되는데

 

이럴경우에 POST를 사용하여 수행한다

 

또한 가장 중요한점 한가지는

 

GET은 주소표시줄에 데이터의 값이 노출되기 때문에 보안상 취약하다

 

그렇기 때문에 GET을 통해 수정이나 상태를 바꾸면

 

url을 통해 누구나가 수정 가능할 것이고 해당 웹의 상태나 정보들이 엉망이 되는 상황이 될 것이다

댓글