라벨이 GET인 게시물 표시

GET vs POST 방식 (비교 및 용도)

GET vs POST 방식 (비교 및 용도) GET 방식 - URL에 데이터를 담아 전송하므로 보안에 취약하다. - query string에 따른 다른 정보를 보여줄 수 있다.(다른사람과의 정보 공유가 가능) - URL의 규격에 따라 길이의 제한이 있어 긴 내용의 컨텐츠를 전송하기에 부적합하다. POST 방식 - URL에 데이터를 담아 전송하지 않기때문에 보안에 좋다.(완벽x) - 서버에 데이터를 같이 보낼 수 있다. ex) 로그인 인증 - 불필요한 정보가 노출되지않는다.  - GET 방식과 달리 용량이 큰 데이터를 전송하는데도 문제가 없다. - 사용자의 개인정보(노출되면 안되는 정보)와 큰 컨텐츠(줄거리 등등)을 전송하는데 적합하다. 주소에 한글이 들어갈 경우 encodeURIComponent 를 사용하고 그 내용을 서버에서 받아서 decodeURICompoent로 디코드 해서 사용한다. expressjs의 경우 기본적으로 GET방식을 지원하며 POST방식을 사용하고자 할 때는 미들웨어인 body-parser를 설치하여 사용해야 한다.

REST API (Representational State Transfer)

REST API 는 서버에 요청을 보낼 때 주소를 통해 요청의 내용을 표현하는 방식이다. REST 구성  - 자원(RESOURCE) - URI  - 행위(Verb) - HTTP Method  - 표현(Representations) HTTP 요청 메서드 GET : 서버의 자원을 가져오려고 할 때 사용한다.  POST : 서버에 자원을 새로 등록하고자 할 때 사용한다. 또는 뭘 써야할지 애매할 때도 사용한다. PUT : 서버의 자원을 요청에 들어있는 자원으로 치환하고자 할 때 사용한다. 완전히 데이터를 바꿀 때 사용 PATCH : 서버 자원의 일부만 수정하고자 할 때 사용한다. DELETE : 서버의 자원을 삭제하고자 할 때 사용한다. 요약해보면 아래와 같다. GET => Read, index, retrieve POST => Create PUT => Replace PATCH => Modify DELETE => Delete REST API 사용시 유의할점 - URI는 정보의 자원을 표현해야 한다. - 자원에 대한 행위는 HTTP Method (GET, POST, PUT, PATCH, DELETE)로 표현한다. REST API 예시 ex) POST  Node.js 로 작성한 백엔드 부분의 회원가입 부분의 일부이다. app . post ( ' /api/users/register ' , ( req, res ) => { // 회원 가입 할떄 필요한 정보들을 client에서 가져오면 // 그것들을 데이터 베이스에 넣어준다. const user = new User (req . body) user . save ( ( err, userInfo ) => { if (err) return res . json ({ success : false , err }) return res . status ( 200 ) . json ({ success : true }) })