BackEnd
-
CORS Policy 문제 Express로 바로 해결하기! - CodeHan의 코딩공부BackEnd/개념정리 2022. 9. 14. 12:05
CORS란? Cross-origin resource sharing의 약자로 한국말로 하면 교차 출처 리소스 공유를 뜻한다. 브라우저에서만 가지고있는 CORS 정책이다. 클라이언트와 서버가 같은 도메인에 있다면 정보를 주고 받는데 지장이 없지만 클라이언트와 서버가 다른 도메인이라면 원칙적으로 정보를 주고받는 것이 금지되어있다. 어려우니까 쉽게 설명하면 클라이언트랑 서버랑 도메인이 다르면 아무것도 주고받을 수 없다는 뜻이다. 따라서 가능하게하려면 Server에서 Header에 Access-Control-Allow-Origin을 첨가하여 보내주어야한다. Express에서 쓰는 법 App.use((req, res, next) => { Res.setHeader('Access-Control-Allow-Origin'..
-
ExpressJs 유용한 미들웨어 모음 - CodeHan의 코딩공부BackEnd/개념정리 2022. 9. 14. 12:01
유용한 미들웨어란 우리의 서버를 보다 강력하고 안전하게 만들어준다. 또 개발자의 편의를 도와 보다 효율적으로 서버를 구축해나갈 수 있다. Express.json : REST API에서 전달받은 내용을 Body로 집어넣어준다 Express.urlencoded({option}) : HTML FORM에서 전달받은 내용을 Body로 집어넣어준다. Express.static('폴더경로', option) : 지정한 경로 내 존재하는 파일에 대한 접근을 따로 코드 작성없이 허용한다. 옵션도 오브젝트형식으로 전달 가능하다 App.use(cors()); : CORS정책을 허용하게 해주는 middleWare이다. Origin옵션으로 가능한 domain을 지정할 수 있다. Cookie-parser : 토큰에 대한 정보를읽을..
-
Express.js Router 사용하기 - CodeHan의 코딩공부BackEnd/개념정리 2022. 9. 12. 12:35
우리는 이전에 express.js에서 각 url에 맞는 요청과 응답, 에러처리 하는 방법을 알아보았다. 하지만 이렇게 작성하게 되면 메인js파일의 가독성이 떨어지고 프로젝트가 커지면 커질수록 더욱 보기 어려울 것이다. 그래서 우린 Router를 사용할 것이다. Router 사용법. Router는 경로를 지정해준다고 생각하면 이해하기 쉽다. import sendRouter from './router/sendRouter.js' app.use("/send", sendRouter); 라고 하면 /send에 들어오는 모든 요청은 sendRouter에서 처리한다. 그렇게되면 app.js의 가독성과 모듈성이 좋아진다. Router 작성하기 위에 코드에서 사용된 sendRouter.js를 작성해보자. import ex..
-
서버에서 에러 처리하기 - CodeHan의 코딩공부BackEnd/개념정리 2022. 9. 12. 12:20
서버에서 에러처리를 제대로 하지 못하면 App을 이용하는 모든 사용자에게 피해가 간다. 내가 만든 App이나 Web에서 발생한 에러를 어떻게 처리해야 효율적일까? (본 내용은 Express.js를 기반으로 작성되었습니다.) 에러를 잘 처리한다는 것은 뭘까? 에러를 잘 처리한다는 것은 Client가 요청한 request를 제대로 처리하지 못했다면, Client에게 적절한 error message와 statusCode를 전송하는 것과 문제가 발생했을 때 서버가 죽지 않도록 하는 것으로 생각해볼 수 있다. 에러를 처리하는 방법은? Express.js에선 최하단에 위치한 listen(port)위에 app.use를 이용해서 발생하는 Error를 처리해줄 수 있다. 하지만 이 최하단에 위치한 에러를 처리하는 미들웨..