스터디/CS 스터디 (24.06-24.11)

네트워크 : HTTP/HTTPS, TLS/SSL , 브라우저 저장소(쿠키/웹스토리지)

minseokiim 2024. 7. 9. 20:33

1. HTTP, HTTPS

 

1) HTTP

웹에서 브라우저와 서버 통신을 위한 프로토콜

 

i. HTTP/1.0 : 각 요청마다 새로운 TCP 연결, 한 연결 당 하나의 요청 -> 패킷 왕복 시간 김

ii. HTTP/1.1 : 한 번의 TCP 연결을 통해 여러 요청과 응답을 주고받을 수 있음. 한 번 초기화 -> keep alive 옵션, 여러개 파일 송/수신

iii. HTTP/2.0 : 하나의 TCP 연결을 통해 여러 개의 요청과 응답을 병렬로 처리, 헤더 필드를 압축하여 데이터 전송량을 줄이고 네트워크 성능을 개선

iv. HTTP/3.0 : UDP 사용, 단일 라운드 트립 핸드셰이크를 사용하여 연결 설정 시간을 크게 단축, 보안 기능이 프로토콜에 통합되어 있어, 별도의 TLS 핸드셰이크 없이 암호화된 연결을 제공, 하나의 연결에서 여러 스트림을 동시에 전송할 수 있

 

 

2) HTTPS

HTTP의 보안된 버전으로 신뢰할 수 있는 HTTP요청

TLS(Transport Layer Security) / SSL(Secure Sockets Layer)을 사용하여 데이터를 암호화

 

 

2. TLS, SSL 

1) TLS (Transport Layer Security)

SSL 3.0의 후속 프로토콜

 

2) SSL (Secure Sockets Layer)

SSL 3.0 이후로 더 이상 사용되지 않음

 

3) TLS/SSL 작동 원리

  1. 핸드셰이크: 클라이언트와 서버 간의 연결을 설정하고, 암호화 알고리즘과 세션 키를 협상
  2. 인증서 교환: 서버는 클라이언트에게 디지털 인증서를 제공하여 서버의 신원을 확인
  3. 세션 키 생성: 클라이언트와 서버는 대칭 키 암호화를 위한 세션 키를 생성
  4. 암호화된 데이터 전송: 생성된 세션 키를 사용하여 암호화된 데이터 전송

 

3. 브라우저 저장소

: 웹 어플리케이션의 data 저장 방법

 

쿠키(Cookie)  
웹스토리지
(Web Storage)
로컬 스토리지 (Local Storage)
세션 스토리지 (Session Storage)

 

1) 쿠키(Cookie)

문자열 only(웹스토리지는 문자열, 구조화 된 객체도 가능)

방문자의 웹사이트 방문 여부 확인 위해 만들어짐.

만료기간을 설정해야 함. 안하면 세션 쿠키가 되어 활성 웹브라우저 세션 동안만 존재

 

장점 : 서버 전송 가능, 사용자 식별 용이

단점 : 비연결성, 페이지 이동시 초기화 -> stateless

http요청마다 cookie-> 불필요 트래픽 많아 비용이 크고 성능 저하

다른 도메인에서 접근 가능 -> 보안 문제

저장 용량이 적음

 

 

 

2) 웹스토리지(Web Storage)

: HTML5부터 등장

 

i. 로컬 스토리지 (Local Storage)

Key-Value형태, 사이트 나가도 유지되므로 수동 삭제 해야함.

도메인 별로 생성 -> 도메인이 같으면 전역 공유 가능

 

장점 : 영구적, 구현이 간단, 서버의 부하를 줄여줌

단점 : 서버 접근 불가 문제

 

 

ii. 세션 스토리지 (Session Storage)

Key-Value형태, 브라우저 닫으면 삭제됨.

사이트 방문 동안에만 데이터 필요할 때 사용

도메인 별로 생성 -> 도메인이 같아도 전역 공유 불가

 

장점 : 일시적, 서버의 부하를 줄여줌

단점 : 로컬스토리지보다 용량 제한, 서버 접근 불가 문제