728x90
반응형
GET/POST 차이점?
GET과 POST를 설명하려면 먼저 HTTP에 대해서 간략하게 알아야 한다.
HTTP란? : 클라이언트와 서버 간에 데이터를 주고받는데 사용되는 요청/응답 프로토콜이다.
GET
GET이란? : 서버로부터 정보(데이터)를 조회하기 위해 사용되는 HTTP 메소드
GET 요청의 특징
- 요청을 전송할 때 필요한 데이터를 Body에 담지 않고, 쿼리스트링을 통해 전송합니다.
(쿼리스트링이란? : URL의 끝에 ?와 함께 이름과 값으로 쌍을 이루는 요청 파라미터, 요청 파라미터가 여러 개이면 &로 연결.)
ex) www.example-url.com/resources?name1=value1&name2=value2 - 불필요한 요청을 제한하기 위해 요청이 캐시될 수 있다.
ex) js, css, 이미지 같은 정적 컨텐츠는 데이터양이 크고, 변경될 일이 적어서 반복해서 동일한 요청을 보낼 필요가 없는데, 이 때문에 정적 컨텐츠를 요청하고 나면 브라우저에서는 요청을 캐시해두고, 동일한 요청이 발생할 때 서버로 요청을 보내지 않고 캐시된 데이터를 사용하는 경우.
POST
POST란? : 서버로 데이터를 보내기 위해 사용되는 HTTP 메소드
POST 요청의 특징
- GET과 달리 전송해야될 데이터를 HTTP 메세지의 Body에 담아서 전송
(HTTP 메세지의 Body는 길이의 제한없이 데이터를 전송할 수 있다.) - 대용량 데이터를 전송할 수 있다.
- 요청 헤더의 Content-Type에 요청 데이터의 타입을 표시해야 한다.
(데이터 타입을 알 수 없는 경우 application/octet-stream로 요청을 처리한다.)
GET과 POST의 차이
GET은 동일한 연산을 여러 번 수행하더라도 동일한 결과가 나타나게 설계되었고, POST는 그렇지 않게 설계되었다는 점이다.
GET은 동일한 연산을 여러 번 수행하더라도 동일한 결과가 나타나야 하는 경우에 따라 사용되기 때문에 주로 조회를 할 때 사용되야 한다.
뱐대로 POST는 버에게 동일한 요청을 여러 번 전송해도 응답은 항상 다를 수 있다. 이 때문에 POST는 주로 서버의 상태가 데이터를 변경시킬 때 사용되야 한다.
즉, GET과 POST는 설계 원칙에 따라 적절한 용도로 사용해야 한다
728x90
'Frontend > 기타' 카테고리의 다른 글
[FE] 프론트엔드 기술 기본 4 (RESTFUL API) (0) | 2023.03.25 |
---|---|
[FE] 프론트엔드 기술 기본 3 (this, call, apply, bind) (0) | 2023.03.24 |
[FE] 프론트엔드 기술 기본 1 (0) | 2023.03.20 |
[FE] local storage vs session storage vs cookie (0) | 2023.03.07 |
[FE] 표준 모드와 호환 모드 (0) | 2023.03.05 |