HTTP 프로토콜의 진화
HTTP/1.0
특징
- 한 연결당 하나의 요청만 처리
- 매번 TCP 3-웨이 핸드셰이크 필요 → RTT 증가
문제 해결 방법
- 이미지 스플리팅: 여러 이미지를 하나로 합쳐 다운로드 후 CSS
background-position으로 표시 - 코드 압축: 개행 문자, 빈칸 제거로 코드 크기 최소화
- Base64 인코딩: 이미지를 문자열로 변환 (단, 크기 37% 증가)
HTTP/1.1
개선 사항
keep-alive옵션: 한 번의 TCP 연결로 여러 요청 처리 가능- 표준화된
keep-alive(HTTP/1.0에서는 비표준)
한계
- HOL Blocking: 특정 요청이 느리면 뒤의 요청이 대기
- 무거운 헤더: 쿠키 등 메타데이터가 압축되지 않음
HTTP/2
핵심 기능
멀티플렉싱
- 여러 스트림을 병렬 처리
- 특정 스트림 패킷 손실 시 해당 스트림만 영향
- HOL Blocking 해결
헤더 압축
- HPACK 압축 형식 (허프만 코딩 알고리즘)
- 빈도 높은 정보는 적은 비트, 낮은 정보는 많은 비트 사용
서버 푸시
- 클라이언트 요청 없이 서버가 리소스 전송
- 예: HTML 읽으면서 CSS 파일 먼저 푸시
요청 우선순위 처리
HTTPS (HTTP/2 기반)
SSL/TLS 보안
- 애플리케이션 계층과 전송 계층 사이에 SSL/TLS 계층 추가
- 통신 암호화, 제3자 도청·변조 방지
핵심 메커니즘
- 보안 세션: TLS 핸드셰이크로 생성 (1-RTT)
- 사이퍼 슈트: 프로토콜 + AEAD 사이퍼 모드 + 해싱 알고리즘
- 예:
TLS_AES_128_GCM_SHA256
- 예:
- 인증 메커니즘: CA 발급 인증서 기반 공개키 제공
- 키 교환: Diffie-Hellman 알고리즘으로 PSK 생성
- 해싱: SHA-256, SHA-384 알고리즘
SEO 이점
- 구글은 HTTPS 사이트에 SEO 순위 우대
- 캐노니컬 설정, 메타 태그, 페이지 속도, 사이트맵 관리 필수
HTTP/3
혁신적 변화
- UDP 기반 QUIC 프로토콜 사용 (TCP 대신)
- 1-RTT 연결 설정: 3-웨이 핸드셰이크 제거
- 멀티플렉싱 유지
- FEC (순방향 오류 수정): 열악한 네트워크에서도 낮은 패킷 손실률
운영체제 (OS)
운영체제의 역할
CPU 스케줄링 및 프로세스 관리
- CPU 소유권 할당, 프로세스 생성·삭제, 자원 할당·반환
메모리 관리
- 한정된 메모리를 프로세스에 효율적으로 할당
디스크 파일 관리
- 파일 저장 방식 관리
I/O 디바이스 관리
- 마우스, 키보드 등 I/O 디바이스와 데이터 송수신 관리
운영체제의 구조
[유저 프로그램]
↓
[GUI]
↓
[시스템콜] ← 커널 접근 인터페이스
↓
[커널] ← OS 핵심 (보안, 메모리, 프로세스 관리)
↓
[드라이버]
↓
[하드웨어]시스템콜 (System Call)
정의
- 유저 프로그램이 커널에 접근하기 위한 인터페이스
- I/O 요청, 파일 시스템 접근 등에 사용
동작 과정
- 유저 모드에서 I/O 요청 (예:
fs.readFile()) - 시스템콜 호출 → modebit 1 → 0 (유저 모드 → 커널 모드)
- 커널 모드에서 파일 읽기
- modebit 0 → 1 (커널 모드 → 유저 모드)
- 유저 프로그램 로직 계속 수행
modebit
0: 커널 모드 (모든 자원 접근 가능)1: 유저 모드 (제한적 접근)
인터럽트 (Interrupt)
정의
- 신호가 들어왔을 때 CPU를 잠깐 정지시키는 것
종류
- 하드웨어 인터럽트: 키보드, 마우스 등 I/O 디바이스
- 소프트웨어 인터럽트 (트랩): 프로세스 오류, 시스템콜 호출
처리 과정
- 인터럽트 발생 → 인터럽트 벡터 → 인터럽트 핸들러 함수 실행
컴퓨터의 핵심 요소
CPU (Central Processing Unit)
- 제어장치: 명령어 읽기·해석, 데이터 처리 순서 결정
- 레지스터: CPU 내 초고속 임시 기억장치
- 산술논리연산장치 (ALU): 산술·논리 연산 수행
DMA 컨트롤러
- I/O 디바이스가 메모리에 직접 접근하도록 지원
- CPU 부하 감소, CPU와 동시 작업 방지
메모리 (RAM)
- 데이터, 상태, 명령어 기록
- 크기가 클수록 많은 작업 동시 수행 가능
타이머
- 프로그램 실행 시간 제한
디바이스 컨트롤러
- I/O 디바이스의 작은 CPU
- 로컬 버퍼: 디바이스 데이터 임시 저장
'STUDY' 카테고리의 다른 글
| 운영체제 - 메모리, 프로세스와 스레드 (0) | 2026.02.03 |
|---|---|
| 파이프라인 모니터링 클러스터 모니터링 (0) | 2026.02.01 |
| 네트워크 (0) | 2026.01.13 |
| 프로그래밍 패러다임 (0) | 2026.01.06 |
| 디자인 패턴 (0) | 2026.01.06 |