내배캠 35일차

·2022년 12월 18일
0

내일배움캠프

목록 보기
37/142
post-thumbnail

TODO

  • JavaScript 문법
  • Hoisting
  • 노드 숙련 강의
  • 알고리즘

01. JavaScript 문법

02. Hoisting

03. 노드 숙련 강의

웹 브라우저에 구현된 기술 중 하나. 보통 상태를 저장하기 위해서 사용.

  • 서버에서 쿠키를 Response에 담아 보내면 웹 브라우저는 받은 데이터를 그대로 저장합니다.

  • 브라우저는 가지고 있는 쿠키가 있다면 서버에 Request를 할 때 항상 가지고 있는 쿠키 데이터를 포함해서 보냅니다.

  • 단, 쿠키는 별도의 암호화 없이 데이터를 그대로 주고받기 때문에 클라이언트에서 마음대로 조작하기 쉬워 보안에 취약합니다.

session

웹 브라우저에 구현된 기술중 하나. 그러나 세션은 쿠키의 특성을 이용한 기술.

  • 세션 데이터는 서버에 저장되고 데이터마다 고유한 세션 ID가 만들어집니다.

  • 이 ID를 쿠키를 이용해 주고 받기 때문에 세션 데이터에 접근이 가능한것은 오직 서버뿐이기 때문에 쿠키가 가지고 있던 보안 취약점을 해결합니다.

  • 하지만, 모든 인증을 서버에서 처리하기 때문에 사용자가 많아질 수록 서버에서 처리해야하는 부하가 증가하여 문제가 발생할 수 있습니다.

서버 프로그램?

일반적으로 클라이언트에게 요청을 받아 응답을 주는 프로그램의 유형입니다.

입문에서 익스프레스를 이용해서 서버를 실행시켰다라고 했을 때, 그 서버를 실행시키기 위한 프로그램 (app.js 파일에 서버 구현하고 실행했을 때 그 자체가 서버 프로그램이라고 볼 수 있다.)

=> 실행하는 서버 프로그램 자체가 express로 구현하고 있는 웹 서버 프로그램 그 자체

서버 컴퓨터?

서버프로그램을 실행하고 있는 컴퓨터

입문에서 AWS에 있는 EC2에 만든 익스프레스 서버를 배포함. => EC2가 서버 컴퓨터!

EXPRESS

  1. express를 이용하여 서버를 만들것.
  2. 서버에 정적파일(Static file)을 제공.

    "변하지 않는 파일"

    서버에서 파일 내용을 변형하여 사용하지 않고, 클라이언트(요청자)에게 그대로 전달하기 위한 목적의 파일입니다.

    프론트의 html,css,js파일이라고 생각.

  1. 정적파일을 쉽게 제공할 수 있게 해주는 미들웨어

    app.use("/api", express.json(), router);
    : 맨 처음 인자 값에 들어간 /api 에 의해서 http://127.0.0.1:8080/api 경로로 접근하는 경우에만 json 미들웨어를 거친 뒤, router로 연결되도록 하는것

    • app.use : 미들웨어를 사용하게 해주는 코드
    • express.json : HTTP 요청을 받을때 body에 있는 데이터(즉, POST,PUT,DELETE)를 정상적으로 사용할 수 있게 분석해주는 미들웨어(JSON형태의 body값을 입력받을 수 있게 됨.)

    app.use(express.static("./assets"));
    : 경로에 있는 파일("./assets")을 아무런 가공 없이 그대로 전달해주는 미들웨어

  2. 라우터를 이용해 원하는 Method와 경로로 HTTP 요청을 받아 처리하는 방법

Validation

Validation은 말 그대로 어떤것을 검증한다.

데이터를 검증하는 것을 더 쉽고 간결하게 작성하도록 도와주는 joi라는 라이브러리사용

profile
개발자 꿈나무

0개의 댓글