GET과 POST는 HTTP 프로토콜에서 서버와 클라이언트 간 통신에 활용되는 요청(Request) 메소드이다.

 

GET과 POST의 차이

  • GET은 URL의 뒤에 ?를 붙여 전달한다. 전송량에 제한이 있고, 사용자에게 데이터가 노출됩니다.
  • POST는 HTTP body에 포함하여 전달합니다. 전송량에 제한이 없고, 사용자에게 데이터가 보이지 않습니다. (암호화는 안됨)
  • 둘 다 암호화가 따로 없어서 보안에는 둘 다 취약하다.
  • 서버의 값이나 상태를 변경하는 경우에는 POST로, SQL 쿼리의 SELECT와 같은 단순 조회의 경우 GET을 사용

 

GET

  • GET 가져오는 , 서버로부터 정보를 요청하기 위해 사용
  • URL에 데이터를 포함시켜 요청한다. (기존의 URL 뒤에 ?를 붙여 구분)
  • 전송하는 길이에 제한이 있다. 
  • URL에 데이터가 노출되어 보안에 취약하다.
  • URL 형식에 맞지 않는 데이터는 인코딩(Encoding)이 반드시 필요하다.(한글이나 특수문자를 전송할 경우)
  • 캐싱할 수 있다.

→ 만약 웹 페이지 게시판 수정, 삭제 기능을 GET으로 구현한다면 캐싱으로 의도치않게 글이 수정, 삭제 될 수 있다. 때문에 주로 서버에 데이터를 요청(Select)할 때 사용

ex) 게시판 게시물 조회 

 

+ 캐싱(Caching)이란

캐싱이란 한번 접근 후, 또 요청할 시 빠르게 접근하기 위해 레지스터에 데이터를 저장시켜 놓는 것입니다.

 

POST

  • POST 수행하는 ,  데이터 추가/수정하기 위해 사용
  • 데이터를 HTTP body에 담아 전달한다.
  • GET과 달리 URL에 데이터가 노출되지 않는다. BUT 암호화가 되지는 않음
  • 전송하는 길이에 제한이 없다.
  • 캐싱할 수 없다.

→ 주로 서버에 데이터를 전달하기 위해 사용

반응형

'cs지식 > CS' 카테고리의 다른 글

[CS] 쿠키(Cookie)와 세션(Session) 차이  (0) 2021.05.26

+ Recent posts