Web

GET과 POST방식의 차이?

Developer Rio 2022. 11. 6. 23:53

get 과 post는 form(ex. 로그인폼, 회원가입폼 등등)에서 서버로 데이터를 전송하는 방식이다.

 

■ get의 예시

위의 링크를 예시로들어보면 ?를 기준으로 좌측이 url이고 우측은 데이터(파라미터)를 표현해준다.

파라미터끼리는 &를 이용하여 구분하고 (이름 = 값) 형태로 되어있다.

https://land.naver.com/news/newsRead.naver ? type=headline & prsco_id=648 & arti_id=0000011499

이때 url의 길이의 한계가 있을 수 있어서 그 이상의 데이터가 필요하면 데이터가 누락될 수 있다.

 

만약 로그인폼에서 id , password를 get방식으로 서버에 요청하면 url에 내 id와 비밀번호가 그대로 노출이된다. 즉, 보안에 취약하다는 것을 알 수 있다.

 

 

 

■ post의 예시

  • get에서와 다르게 해당정보를 header에 body에 담아서 전송한다.(개발자도구 네트워크탭에 request header에 form data보면 폼에서 전달하고자하는 데이터가 보인다.)
  • 따라서 만약 위에 링크를 post방식으로 전달하였다면 그때의 url은 다음과 같다.(https://land.naver.com/news/newsRead.naver)

데이터를 header에 body에 담아 전송하기 때문에 크기의 제한이 없지만, 캐싱기능이 없기때문에 빠르고 반복적으로 호출할때 적합하지 않다.

 

 

■ 정리

즉, 각각의 방법의 목적에 맞게 사용하면 된다. 

민감하지 않는 데이터를 다룰때는 get방식을 사용하면 좋고, id, password등 민감한 정보가 포함되어있으면 post방식이 좋다.

 

'Web' 카테고리의 다른 글

Ajax란?  (0) 2022.12.07