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 작동 원리
- 핸드셰이크: 클라이언트와 서버 간의 연결을 설정하고, 암호화 알고리즘과 세션 키를 협상
- 인증서 교환: 서버는 클라이언트에게 디지털 인증서를 제공하여 서버의 신원을 확인
- 세션 키 생성: 클라이언트와 서버는 대칭 키 암호화를 위한 세션 키를 생성
- 암호화된 데이터 전송: 생성된 세션 키를 사용하여 암호화된 데이터 전송
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형태, 브라우저 닫으면 삭제됨.
사이트 방문 동안에만 데이터 필요할 때 사용
도메인 별로 생성 -> 도메인이 같아도 전역 공유 불가
장점 : 일시적, 서버의 부하를 줄여줌
단점 : 로컬스토리지보다 용량 제한, 서버 접근 불가 문제
'스터디 > CS 스터디 (24.06-24.11)' 카테고리의 다른 글
네트워크 : HTTP 상태 코드 (0) | 2024.08.12 |
---|---|
컴퓨터 구조 : 컴퓨터 시스템 설계 방식(폰노이만 구조/하버드 구조) (0) | 2024.08.05 |
네트워크 : TCP/UDP, TCP의 3-way/4-way hand shake (0) | 2024.07.09 |
네트워크 : OSI 7계층 (0) | 2024.07.09 |
OS : 프로그램, 프로세스, 스레드, 멀티 프로세싱 vs 멀티 태스킹 (0) | 2024.07.04 |