네트워크 기본 개념
네트워크의 종류
네트워크는 범위에 따라 크게 LAN, MAN, WAN으로 구분
| 네트워크 종류 | 범위 | 구성 | 속도 |
|---|
| LAN (Local Area Network) | 좁음 (사무실, 건물 등) | 단순 | 빠름 |
| MAN (Metropolitan Area Network) | 도시 단위 | 중간 | 중간 |
| WAN (Wide Area Network) | 넓음 (국가, 대륙) | 복잡 | 느림 |
네트워크 계층

- 택배를 A에서 B로 보내기 위해서는 택배를 포장하고 이동하고 택배 포장을 뜯는 과정이 필요
- 데이터 통신도 이와 비슷

캡슐화와 역캡슐화
- 네트워크에서 데이터는 캡슐화 과정을 거쳐 전송되며, 최종적으로 역캡슐화되어 원본 데이터가 복원
- 캡슐화 : 계층이 지나면서 포장되는 데이터는 최종적으로 전기 신호로 변환 되어 전달
- 역캡슐화 : 최종 목적지에 도달하면 원본 데이터로 포장이 뜯어짐
네트워크 계층
| 계층 | 기능 |
|---|
| 7. 응용 (Application) | HTTP, FTP 등 응용 프로그램 통신 |
| 6. 표현 (Presentation) | 데이터 암호화, 압축 |
| 5. 세션 (Session) | 연결 설정, 종료 관리 |
| 4. 전송 (Transport) | TCP/UDP를 통한 데이터 전송 |
| 3. 네트워크 (Network) | IP 주소 지정 및 경로 설정 |
| 2. 데이터 링크 (Data Link) | MAC 주소 기반 데이터 전송 |
| 1. 물리 (Physical) | 전기 신호로 변환 및 전달 |
HTTP와 HTTPS
HTTP (HyperText Transfer Protocol)
- 웹 기반 응용 프로그램에서 가장 많이 사용되는 프로토콜
- 웹 프론트엔드 클리아언트와 웹 서버가 통신할 때 사용하는 프로토콜
- OSI 7계층 중 응용계층 : 최상위 계층 → 사용자와 가장 가까운 계층

HTTP 특징
- 무상태성 (Stateless): 이전 요청 정보를 저장하지 않음
- 비연결성 (Connectionless): 요청-응답이 끝나면 연결이 종료됨
- 속도가 빠르지만 보안이 취약함
HTTP의 무상태성(Stateless)
- 상태(서버의 기억)가 없음을 의미
- 모든 정보를 담아서 한 번에 전달해야 함


HTTP의 비연결성(Conectioneless)
- 연결이 지속되지 않음을 의미
- 연결 : 요청과 응답이 오고가는 통로
- 연결과 종료의 반복으로 비효율성 발생

비연결성 해결을 위한 HTTP 발전 과정

- HTTP 1.0
- 연결과 종료를 반복하는 비연결성으로 비효율적 성능
- HTTP 1.1
- 지속연결
- 연결을 한 번 한 이후에 연결과 응답을 반복, 모든 요청이 끝난 후 종료
- 응답이 오고난 후에 다음 요청을 보낼 수 있다는 단점
- 요청과 응답이 동기적으로 일어나 시간 지연 발생
- 파이프라인
- 요청이 동시에 비동기적으로 보내지고 있음
- 응답은 동기적으로 받으볼 수 있음. 첫 번째 응답, 두 번째 응답, 세 번째 응답을 받을 수 있음
- HTTP 2.0
HTTPS (HTTP Secure)
HTTPS는 HTTP + 보안 프로토콜 (SSL/TLS)을 결합하여 데이터를 암호화하여 전송하는 방식
HTTPS 보안 방식
비대칭 키 방식
- 공개키와 개인(비밀)키 두 개의 키로 암호화하는 키와 복호화하는 키가 다름
- 보안성은 높지만 속도가 느림
대칭 키 방식
- 하나의 키, 암호화 하는 키와 복호화 하는 키가 같음
- 속도가 빠름
HTTPS 작동 원리
비대칭 키 방식으로 대칭 키를 교환, 이후 대칭 키 방식으로 데이터 암호화
HTTPS 사용 주체
- 클라이언트 : hTTPS 프로토콜로 사이트를 이용
- 서버 : HTTPS 프로토콜로 사이트를 제공
- 인증 기관(CA) : 안전한 사이트인지 인증
HTTPS 인증 방식

- 비대칭 키방식
- 인증서 발급 & 검증할 때
- 대칭키를 주고 받을 때
- 대칭 키 방식
대칭키를 별도로 만들어서 통신하는 이유?
- 비대칭 키 방식은 복호화에 오래 걸림
- 데이터를 통신하기 위해 사용하는 대칭키를 만들기 위해 사용됨
- 대칭키 자체는 서버와 통신할 때 직접 왔다갔다 하지 않으므로 탈취당할 위험성이 없음
- 서버는 클라이언트에게 공개키를 제공
- 클라이언트는 공개키로 대칭키를 암호화하여 서버에 전달
- 서버는 자신의 개인키로 복호화하여 대칭키 획득
- 이후 대칭키로 통신
- 초기 연결 과정(TLS Handshake)에서 비대칭키 암호화를 사용해 각자 대칭키를 공유하고, 때문에 해당 대칭키로 암호화/복호화 수행, 직접 이동하지 않아 안전하게 교환
SOP_CORS
CORS
- CORS (Cross-Origin Resource Sharing,) : 교차 출처 리소스 공유
SOP
- SOP (Same-Origin Policy) : 동일 출처 정책

- 같은 출처의 리소스만 가져올 . 수있음
- 동일 출처가 아니라면 브라우저가 보안상의 이유로 접근을 막아버림

SOP의 한계 : CORS ERROR

CORS 설정 방법
정리
- 네트워크는 범위에 따라 LAN/MAN/WAN으로 구분됨.
- HTTP는 비보안 프로토콜, HTTPS는 암호화된 보안 프로토콜
- HTTPS는 비대칭 키(초기 연결) + 대칭 키(실제 데이터 송수신) 방식 사용
- SOP 정책 때문에 CORS 오류 발생 가능, 해결하려면 서버에서 CORS 허용 설정 필요