HTTP는 웹상에서 클라이언트와 서버 간에 요청/응답(request/response)으로 데이터를 주고 받을 수 있는 프로토콜입니다. 클라이언트가 HTTP 프로토콜을 통해 서버에게 요청을 보내면 서버는 요청에 맞는 응답을 클라이어트에 전송합니다. 이 때 HTTP 요청에 포함되는 HTTP 메소드는 서버가 요청을 수행하기 위해 해야할 행동을 표시하는 용도로 사용됩니다.
HTTP 메소드
GET, POST, PUT, DELETE, PATCH 등...
이 중 GET과 POST 방식의 차이점을 알아보겠습니다.
서버로부터 정보를 조회하기 위해 설계된 메소드
GET은 요청을 전송할 때 필요한 데이터를 쿼리스트링을 통해 전송. url 끝에 ?
와 이름과 값으로 이루어진 쌍을 전달 www.example.com/resource?name1=value1&name2=value2
GET 요청은 캐시 할 수 있습니다.
js, css, 이미지 같은 정적 컨텐츠를 요청하면 브라우저에서는 요청을 캐시해두고, 동일한 요청이 발생할 때 서버로 요청을 보내지 않고 캐시된 데이터를 사용합니다.
GET 요청은 길이 제한이 있습니다.
동일한 요청을 여러 번 하더라도 동일한 결과가 나온다.
브라우저에 기록이 남는다.
URL에 요청 파라미터가 있기 때문에 이를 사용하면 더 디테일하게 페이지를 링크 할 수 있다.
리소스를 생성/변경하기 위해 설계된 메소드. 서버의 상태나 데이터를 변경 시킬 때 사용.
서버에 전송해야할 데이터를 HTTP 메세지의 Body에 담아서 전송.
Body의 길이 제한이 없기 때문에 대용량 데이터 전송 가능.
브라우저 기록이 남지 않는다.