카테고리 없음
17주차 정리
jjon-jonny
2024. 7. 31. 13:27
** 프로토콜
DNS
ㄴ domain name service
서버의 주소를 특정 규칙을 가진 String에 Mapping 시켜주는 프로토콜
Domain Name 이라는 특정 규칙을 가진 String을 서버의 주소로 이동시켜줌
-Domain Name 의 규칙
Host + Label + TLD
Host : 개발자가 정한 서버의 이름
Label : Domain Name 의 이름 (돈을 주고 구입)
TLD : Domain Name 의 성격 (돈을 주고 구입)
Naver.com 이 단위로 구입 함
Naver.net 이건 다른 Domain Name 이 된다.
Record
ㄴ Domain Name에 설정할 수 있는 값의 단위
a : 특정한 IP에 Domain Name을 연결할 때
cname : 특정한 Domain Name에 내 Domain Name을 연결할 때 사용함
mx : 특정한 메일 서버에 Domain Name을 연결할 때
txt : 특정한 String 문자열에 Domain Name 을 연결함
SSL 의 구성
- Public key(key) : 웹 서버가 사용자에게 보내는 key 파일
- private key(cert) : 웹 서버가 소유하고 있는 key 파일
- ca : 이러한 key 파일들을 발급한 회사의 인증서 : 회사가 해킹당했다면? 그래서 필요함
-SSL의 동작 구조
ㄴ 비대칭키 암호화 기법을 사용함
대칭키 : 키파일 하나로 암호화 복호화 함
비대칭키 : 키파일 두개로 암호화 키 복호화 키 두개로 나눠져 있음
- 클라이언트에서 웹 서버에 첫 번째 방문을 함
- 웹 서버는 이를 인지하고, 클라이언트한테 public key 를 보냄
- 클라이언트는 이 public key를 받아서 저장함
- 클라이언트가 서버에 요청을 할때 값을 public key 로 암호화함
- 웹 서버는 받은 값을 private key로 복호화해서 읽음
- 웹 서버가 응답할 때 값을 private key로 암호화함
- 클라이언트는 받은 응답 값을 public key로 복호화함.
** NoSQL
- 데이터베이스의 종류
- Relational Database
ㄴsql 언어를 사용했다
- NoSQL Database
ㄴ 데이터베이스 스키마가 존재하지 않음
ㄴ json 형태 등으로 사용하는 데이터베이스
ㄴ 엄격한 규칙이 존재하지 않음
ㄴ 유연한 개발이 가능한 데이터베이스
- 장점
ㄴ 모든 데이터를 json 형태 (key : value ) 로 저장함
ㄴ SQL 문이 존재하지 않기 때문에 , 대충 때려박으면 대충 저장해줌
ㄴ 값의 단순 입력이나 단순 출력에 있어서는 RDB 보다 빠름
-단점
ㄴ RDB 처럼 강력한 체계가 없기 때문에, 중복값 빈값 체크 등 무결성을 보장할 수 없음
ㄴ 특정 조건 하에 탐색하는 것이 RDB보다 느림
-사용 예시
ㄴ 채팅
ㄴ 로깅 ( Logging )
ㄴ 빅데이터 분야
** mongoDB
-소개
ㄴ NOSQL 데이터베이스 시장에서 가장 큰 비율을 차지하는 데이터베이스
-사용 방법
- MongoDB 기업의 클라우드를 이용하는 방법
- 원래 하던 것처럼 직접 설치하는 방법
-구조
RDB : DB -> (SCHEMA) ->TABLE -> ROW
NOSQL : DB -> Collection -> Document
Article: {
idx,
content,
author,
time,
image: [
{
idx,
link,
},
...
],
Comment:[
{
idx,
author,
text,
time
},
…
]
}
과제 : 몽고디비 이용
로깅
오늘과제 : 웹서버에서 일어나는 로깅기록을 만들어오기
누가 api 를 호출했다 ==> 로그 기능을 만든다
누가 api 를 호출했다는 로그 기능을 몽고 db를 통해서 만든다
- 사용자가 누구인지 그 사람의 idx
- 그 사람이 요청한 api 의 명
- 그때 그사람이 보낸값
- 우리가 응답한 값
- 상태코드
- 이 로그가 생성된 시간
- 래퍼 사용하기
- 인터셉터 사용하기( 추천 ).
ㄴ express res.on event 라고 치면 나올것
이게 뭔지 그리고 이걸 어떻게 응용할수 있을지 로그기능을 효율적으로 적용해오기