프로그래머스 데브코스 Day3

dlwl98·2023년 6월 5일
0
post-thumbnail

HTTP와 HTTPS의 차이점

HTTP와 HTTPS의 주된 차이점은 암호화

HTTPS는 대칭키 암호화와 비대칭키 암호화를 이용한다.

비대칭키 암호화

공개키와 개인키를 암복호화에 이용함.

공개키로 암호화 후 개인키로 복호화, 개인키로 암호화, 공개키로 복호화

처음 연결 시 안전한 연결(세션키 공유)을 위해 비대칭키 암호화를 통해 세션키를 공유하게 된다.

이후 데이터 교환시에는 대칭키 암호화(처음 연결시 공유된 세션키 이용)를 이용해 연산속도를 빠르게 한다.

HTTPS의 연결과정

  1. 클라이언트(브라우저)가 서버로 최초 연결 시도를 함
  2. 서버는 인증서를 브라우저에게 넘겨줌
  3. 브라우저는 인증서의 유효성을 검사하고 세션키를 발급함
  4. 브라우저는 세션키를 보관하며 추가로 서버의 공개키세션키를 암호화하여 서버로 전송함
  5. 서버는 개인키로 암호화된 세션키를 복호화하여 세션키를 얻음
  6. 클라이언트와 서버는 동일한 세션키를 공유하므로 데이터를 전달할 때 세션키로 암호화/복호화를 진행함

RSA 암호화

대표적인 비대칭키 암호화


마이크로 테스크 큐, 애니메이션 프레임

이벤트루프가 관리하는 것들

  • Call Stack
  • Callback Stack
    • Task Queue(Macrotask Queue) (ex. setTimeout, setInterval, fetch ...)
    • Microtask Queue (ex. Promise)
  • AnimationFrame Queue (브라우저 렌더링 관련 task)

이벤트루프 처리 우선순위

  1. Call Stack
  2. Microtask Queue
  3. AnimationFrame Queue
  4. Task Queue

async / await에서

async 함수의 await 키워드 아래는 실행이 미뤄진다(Microtask Queue로 넘겨진다)


IndexedDB와 Storage의 차이

indexedDB란? 새로운 웹 브라우저의 표준 인터페이스

IndexedDB 많은 데이터를 저장하기 하고, 이를 Index 를 이용하여, 빠르게 검색할 수 있게 설계 되었다.

Storage 인 Local StorageSession Storage 는 최대 10MB 만 저장이 가능하며, 오직 String 형태만 저장이 가능하다.

IndexedDB 는 javascript 가 이해하는 어떠한 값이라도 모두 저장할 수 있다.

IndexedDB 는 용량 제한은 특별히 없으나, HDD 저장소 상태 나 브라우저의 상태에 따라서 달라 질 수 있다.

작은 규모의 데이터는 Storage 를 사용하는것이 좋지만, 큰 데이터는 IndexedDB 를 사용하는 것이 여러모로 유리하다.


기타

  • 자바스크립트 모듈은 최상위에 변수를 선언하면 전역스코프가 아닌 모듈스코프를 가진다

  • 자바스크립트 정규표현식의 캡쳐는 match 반환값에서 1번 인덱스부터 순차적으로 들어감

0개의 댓글