1. 들어가기 전에...
GET과 POST가 Http method 중에서 가장 많이 쓰이는 method라고 생각한다.
하지만 쓸 때마다 헷갈리는 이 둘... 확실하게 정리하고 넘어가고자 한다..!!
GET : 가져온다는 개념 / POST : 수행한다는 개념 - 이렇게 생각하자
즉, GET은 서버에서 어떤 데이터를 가져와 보여줄 때 사용한다. 어떤 값이나 내용, 상태 등을 바꾸지 않는 경우에 사용한다고 보면 이해하기 쉬울 것이다.
이에 반해서, POST는 서버 상의 데이터 값이나 상태를 바꾸기 위해서 사용한다.
게시판을 예로 들자면, 글의 내용에 대한 목록을 보여주는 경우나, 글의 내용을 보는 경우는 GET //
글을 저장하고 수정할 때는 POST인 셈이다.
2. GET Method
: GET method는 클라이언트에서 서버로 어떠한 리소스로부터 정보를 요청하기 위해 사용되는 메서드이다.
쉽게 말해서, 데이터를 읽거나(Read), 검색(Retrieve)할 때에 사용되는 method인 것이다.
GET은 요청을 전송할 때 URL 주소 끝에 파라미터로 포함되어 전송되며, 이 부분을 쿼리 스트링(QueryString)이라고 부른다.
그리고 GET 요청은 오로지 데이터를 읽을 때만 사용되고 수정할 때는 사용하지 않습니다.
따라서 이런 이유로 사용하면 안전하다고 간주되죠. 즉, 데이터의 변형의 위험 없이 사용할 수 있다는 뜻입니다.
3. POST Method
: POSTmethod는 리소스를 생성/업데이트하기 위해 서버에 데이터를 보내는 데 사용된다.
GET과 달리 전송해야 될 데이터를 HTTP 메시지의 Body에 담아서 전송한다. 그리고 그 Body의 타입은 요청 헤더의 Content-Type에 요청 데이터의 타입을 표시 따라 결정해야한다.
HTTP 메시지의 Body는 길이의 제한 없이 데이터를 전송할 수 있다. 그래서 POST 요청은 GET과 달리 대용량 데이터를 전송할 수 있는 이유도 이 때문이다.
이처럼 POST는 데이터가 Body로 전송되고, 내용이 눈에 보이지 않아 GET보다 보안적인 면에서 안전하다고 생각할 수 있지만, POST 요청도 크롬의 개발자 도구, Fiddler와 같은 툴로 요청 내용을 확인할 수 있기 때문에 민감한 데이터의 경우에는 반드시 암호화해 전송해야한다.
4. GET vs. POST
GET 방식
- 개념 : GET은 가져오는 것!!
- DB로 따지면 GET은 SELECT에 가까움
- 데이터를 가져와서 보기만 한다. ( 게시판의 글쓰기, 수정 )
POST 방식
- 개념 : POST는 수행하는 것!!
- DB로 따지면 POST는 CREATE에 가까움.
- 서버의 값이나 상태를 바꿈. ( 게시판의 글쓰기, 수정 )
The End

'프로그래밍 > Node.js' 카테고리의 다른 글
[7] node.js - CRUD 개발환경 구축하기 [+ mySQL] (0) | 2023.07.04 |
---|---|
[6] Node.js PalPalGram 프로젝트 (node.js 8조) (0) | 2023.06.26 |
[3] 인터넷 쓸때마다 들어본 이름, HTTP란? ( + 웹서버 / GET과 POST차이) (0) | 2023.06.13 |
[2] 늘 헷갈리는 동기(Sync)와 비동기(Async) 차이 / 객체 리터럴 / Error handling _JavaScript (0) | 2023.06.12 |
[1] node.js 란 무엇인가 (+ node.js 장단점 / 논블로킹 모델 / runtime?) (0) | 2023.06.12 |