티스토리 뷰

Web

GET과 POST의 차이

Liiot 2020. 1. 27. 23:28

클라이언트가 서버로 HTTP 요청을 보내는 방법에는 2가지 방법이 있습니다. 하나는 GET 방식이고, 나머지 하나는

 

POST 방식입니다. 이 두 방식 모두 데이터를 본인이 가지고 있는 데이터를 서버로 전달한다는 공통점이 있습니다.

 

그러면 차이점은 무엇일까요?

 

1. GET

: 서버로부터 정보를 조회하기 위해 설계된 메소드

특징

  • URL 상에 서버로 보내지는 데이터가 노출됨

  • 한 번의 요청시 전송 데이터 양은 주소값 + 파라미터로 255자로 제한됨

    (초과된 데이터는 절단됨)

  • 캐싱 가능

GET은 불필요한 요청을 제한하기 위해 요청이 캐시될 수 있습니다. js, css, 이미지 같은 정적 컨텐츠는 데이터가 크고, 변

 

경될 일이 적기 때문에 같은 요청을 반복해서 보낼 필요가 없습니다. 따라서, 정적 컨텐츠를 요청하고 나면 브라우저는

 

요청을 캐시해두고, 동일한 요청이 발생할 때 서버로 요청을 보내지 않고 캐시된 데이터를 사용합니다. 그래서 컨텐츠를

 

변경해도 내용이 바뀌지 않는 경우가 종종 발생하는데 이는 해당 컨텐츠가 캐싱되었기 때문입니다. 이 때, 브라우저의 캐

 

시를 지워주면 다시 컨텐츠를 조회하기 위해 서버로 요청을 보내게 됩니다.

 

2. POST

: 리소스를 생성/변경하기 위해 설계된 메소드

특징

  • 데이터가 HTTP Body에 담겨 서버로 보내지기 때문에 GET 방식보다 보안성이 더 좋음

    (but POST 방식 또한 보안에 취약)

  • 한 번의 요청시 데이터 양의 제한이 없어 대용량 데이터를 전송할 수 있음

  • 요청 헤더의 Content-Type에 요청 데이터의 타입을 표시해야 함

  • 캐싱 불가능

 

3. 언제 GET, POST 방식을 사용해야 하는가?

GET

  • 서버에서 어떤 데이터를 가져와서 보여줄 때 사용
  • 즉, 어떤 값이나 내용, 상태 등을 변경하지 않는 경우에 사용

ex) 글 목록 조회, 게시글 조회 등

POST

  • 서버 상의 데이터 값이나 상태를 변경하기 위해서 사용

ex) 게시글 작성, 게시글 수정 등

 


 

참고 자료

 

GET과 POST의 차이

HTTP HTTP는 웹상에서 클라이언트와 서버 간에 요청/응답으로 데이터를 주고 받을 수 있는 프로토콜입니다. 클라이언트가 HTTP 프로토콜을 통해 서버에게 요청을 보내면 서버는 요청에 맞는 응답을 클라이언트에게 전송합니다. 이 때, HTTP 요청에 포함되는 HTTP 메소드는 서버가 요청을 수행하기 위해 해야할 행동을 표시하는 용도로 사용합니다. 이 HTTP 메소드 중 GET과 POST의 특징과 차이점을 알아보겠습니다.

hongsii.github.io

 

Web - Get과 Post의 차이

Web - Get과 Post의 차이 |들어가기에 앞서, 웹을 개발하면서, 서버에 요청을 보낼때 get, post 라는 단어들에 대해 궁금증이 생기실겁니다. 웹에 대해 경험이 있으신분들은 이미 알고있는 개념이겠지만, 저도 그..

ideveloper2.tistory.com

'Web' 카테고리의 다른 글

해시 함수  (0) 2020.02.11
세션과 쿠키  (0) 2020.02.08
댓글