간단하게 이해해보자. 게시판을 만든다고 가정해보자.
Get방식은 정보를 URL에 붙여서 넘기게 되며, Post방식은 Header를 통해 정보를 전송하는 방식이다.
1.
사용자가 서버에 정보를 전달하고 일반적으로 정보를 요청할 경우에는 주로 GET 방식으로 (select) 한다.
GET은 Select적인 성향을 가지고 있다. GET은 서버에서 어떤 데이터를 가져와서 보여준다거나 하는 용도이지 서버의 값이나 상태등을 바꾸지 않는다. (게시판의 리스트라던지 글보기 기능 같은 것)
정보를 요청하고 서버로부터 정보를 가져오는 곳에 GET을 사용해야 이유: 웹의 주요 목적이라고 할 수 있는 link문제이다.
기본적으로 웹에서 모든 리소스는 link할 수 있는 url을 가지고 있어야하기때문이다. 특정페이지의 주소를 다른 사람에게 주기 위해 주소창의 URL을 복사해서 줄 때를 생각하면 된다. 단점은 url로 전달할 수 있는 요청 정보의 양이 한정되어 있다는 것이다. 또한 그 정보들이 노출되므로 보안상에 문제가 될 수 있다는 것이다.
2.
반면, POST는 서버의 값이나 상태를 바꾸기 위해서 사용한다.
사용자가 서버부터 정보를 전달하고 특정 정보를 가져오는 것 보다, 사용자의 정보를 서버에 전송하는데 더 큰 비중을 둘 때에는 POST 방식으로 정보를 전달한다. ex)로그인을 생각하면 편하다.
(insert, modify)
( 글쓰기를 하면 글의 내용이 DB에 저장이 되고 수정을 하면 DB값이 수정된다. )
POST를 방식을 사용할 결우에는 값이 내부적으로 http header에 숨겨져서 전달된다.
글을 저장하는 경우에는 URL을 제공할 필요가 없기 때문에 POST를 해도 상관이 없는 것이다.
전달할 수 있는 데이터의 양이 제한적이지 않고, url상에 정보가 노출되지는 않지만, get 방식에 비해 처리속도가 늦어진다는 것이 단점이다. (url 상에서 정보가 노출되지 않는다고 해서 보안상 문제가 없다고 할 수 없다. 이문제에 대해서는 차 후에 알아보자.)
'nodejs' 카테고리의 다른 글
(20) 데이터 전송 (POST 방식) (0) | 2016.06.02 |
---|---|
(19) 데이터 전송 (GET 방식) (0) | 2016.06.02 |
(17) semantic url (의미론적 url) vs 쿼리스트링 방식 (0) | 2016.06.01 |
(16) express 모듈 사용-⑦ 쿼리스트링 응용 (0) | 2016.06.01 |
(15) express 모듈 사용-⑥ 쿼리스트링 (0) | 2016.06.01 |