Server, AWS, 데이터 통신 관계

박희수·2023년 11월 9일
0
post-thumbnail

🤔 서버란?

간단하게 생각하면 computer라고 볼 수 있다. 요청이 왔을 때 응답을 줄 수 있다.

서버 연결

SQL에 create database data를 생성하면 sever에 데이터가 생겨서 실행이 가능하다.
백엔드 데이터 베이스가 만들어지고 port번호는 9000번이다. 백엔드와 프론트 모두 local 환경에서 실행된다.

🖥️ AWS란?

Amazon Web Service
아마존 닷컴에서 개발한 클라우드 컴퓨팅 플랫폼이다.
네트워킹을 기반으로 가상 컴퓨터와 스토리지, 네트워크 인프라 등 다양한 서비스를 제공해준다.
aws를 사용하면 컴퓨터 관리가 필요 없어진다. 이를 통해 가상 공간을 대여할 수 있고, 이 공간에서 서버를 돌리면 된다. 확장성에 용이하다.

클라우드 컴퓨팅이란?
기존의 물리적인 형태의 실물 컴퓨팅 리소스를 네트워크 기반 서비스 형태로 제공하는 것을 말한다. 컴퓨팅 리소스는 컴퓨팅 활동을 위한 요청, 할당 및 소비할 수 있는 측정 가능한 컴퓨팅 파워를 말한다.

🚩 클라우드 컴퓨팅 3가지
1. IaaS (Infrastructure as a Service)
- AWS, 네이버 플랫폼과 같은 인프라 스트럭쳐를 제공하는 서비스를 말한다.
- 가상 서버 또는 스토리지, 가상 네트워크 등의 리소스를 서비스 형태로 제공한다.

2. PaaS (Plaform as a Service)
- DB 또는 Application 서버 등의 미들웨어 제공해준다.
- 주로 개발 환경과 관련한 서비스 제공한다.
- 기본 인프라를 관리할 필요 없이 application을 실행할 수 있게 해준다.

3. SaaS (Software as a Service)
- 소프트웨어 또는 application의 기능만 제공한다.
- 네이버클라우드, 웹, 메일, ERP 등과 같은 형태의 서비스 사용자에게 제공한다.

✅ 로그인 로직 예시로 알아보는 데이터 통신

  • lient가 로그인에 필요한 email, password 데이터를 보내면, back에서는 데이터의 성공 실패 여부 메세지를 보낸다.
  • front와 back이 직접 통신하기 전 중간에는 client가 있다
1. uuid 
- 시퀀스, 사용자의 데이터 고유번호를 말한다. 
- 보안을 위해 숫자로만 줄 수 없기 때문에 숫자가 섞인 id를 준다.

2. session id 
- 데이터 요청이 성공한다면 user의 키값(id)가 필요할 것이다
- session id는 사용자 정보를 저장하는 방법을 말한다. 
- 사용자가 브라우저를 닫아 서버와의 연결을 끝내는 시점까지가 세션이라 볼 수 있고, 이는 백엔드의 부화를 심화시킬 수 있다. 그래서 나온 게 token이다. 

3. JWT (json web token)
- JSON 웹 토큰 
- 선택적 서명 및 선택적 암호화를 사용하여 데이터를 만들기 위한 인터넷 표준으로, payload는 몇몇 클레임 표명을 처리하는 JSON보관소이다. 
- 토큰은 비공개 시크릿 키 또는 공개/비공개 키를 사용하여 서명한다

4. Access Token 
- 실질적인 인증을 위한 jwt로 유효기간이 매우 짧은 특징을 갖고 있다. 

5. Refresh Token
- access token의 짧은 유효기간을 보완하기 위해 사용되며, 본 토큰을 사용해 access token 만료시 재발급을 위해 사용한다.

JWT → Access Token
유저 정보를 담은 객체를 문자열로 만들어 암호화 후, 암호화된 키(accesstoken)을 전달
➡️ 받아온 accesstoken은 브라우저 저장소에 저장해 두었다가 유저의 정보가 필요한 api를 사용할 때, 보내주게 되면, 해당 키를 백엔드에서 복화화해서 사용자를 식별한 후 접근 가능하도록 한다.

profile
프론트엔드 개발자입니다 :)

0개의 댓글