Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- CSS
- do it! html+css+자바스크립트 웹 표준의 정석
- Git
- 코딩 자율학습
- react
- do it! 한권으로 끝내는 웹 기본 교과서 html+css+자바스크립트 웹 표준의 정석
- Do it
- 혼자 공부하는 컴퓨터구조+운영체제
- HTML
- JS
- 코딩자율학습
- propschildren
- 브라우저 렌더링 원리
- CPU
- 코딩 자율학습 html + css + 자바스크립트]
- 코딩
- 비대칭키 암호화
- 메모리와 캐시 메모리
- css박스 모델
- 자바스크립트
- 이벤트
- cpu 성능 향상 기법
- 이벤트버블링
- TS
- 코딩 자율학습 html + css + 자바스크립트
- css배경
- JavaScript
- css필수 속성
- html 필수태그
- https://api.jquery.com/
Archives
- Today
- Total
게으른 나에게
[네트워크] - HTTP와 HTTPS 본문
HTTP(Hyper Text Transfer Protocol)
- OSI 7 계층의 애플리케이션 계층(Application Layer) 에서 동작하는 프로토콜
HTTP 특징
- 클라이언트(브라우저)와 웹 서버 간의 데이터 통신을 담당
- 웹 페이지 요청 시 80번 포트 사용
- 웹 서버와 사용자 브라우저는 데이터를 일반 텍스트(Plain Text)로 교환
- Stateless(상태 비저장) 프로토콜 → 요청과 응답이 끝나면 연결을 유지하지 않음
- Method, Path, Version, Headers, Body 등으로 구성
✅ 단점
- 데이터가 암호화되지 않아 보안에 취약
- 개인정보 및 중요한 데이터를 주고받기 부적절
HTTP의 구조
- 사용자가 브라우저에서 URL 입력 (예: http://example.com)
- 브라우저가 웹 서버에 HTTP 요청 전송
- 웹 서버가 HTTP 응답을 생성하여 브라우저로 전송
- 브라우저가 응답을 렌더링하여 사용자에게 웹 페이지 표시
사용 예시
- 단순한 정보 조회 서비스(뉴스, 블로그)
- 민감한 정보가 포함되지 않은 일반적인 웹 페이지
HTTPS(Hyper Text Transfer Protocol Secure)
- HTTP에 보안(SSL/TLS)이 추가된 프로토콜
HTTPS 특징
- 443번 포트 사용
- 데이터 암호화로 보안을 강화하여 중간에 제3자가 정보를 볼 수 없도록 암호화
- 독립된 인증 기관(CA)에서 SSL/TLS 인증서를 획득
- 데이터를 교환하기 전에 브라우저와 인증서를 공유
✅ 단점
- HTTP보다 속도가 느릴 수 있음 (암호화/복호화 과정 필요)
- SSL 인증서 비용 발생
- 구현이 HTTP보다 복잡함
HTTPS 구조
- 클라이언트(브라우저)가 HTTPS 웹사이트에 접속
- 서버가 SSL/TLS 인증서를 브라우저에 제공 (공개키 포함)
- 브라우저가 인증서의 유효성을 검사하고, 세션 키(대칭키)를 발급
- 세션 키를 서버의 공개키로 암호화하여 서버로 전송
- 서버는 자신의 개인키로 복호화하여 세션 키 획득
- 이후 클라이언트와 서버는 같은 세션 키를 사용하여 데이터를 암호화하여 안전하게 통신
HTTPS 보안 기법
대칭키 암호화
- 클라이언트와 서버가 동일한 키를 사용해 암호화/복호화를 진행함
- 키가 노출되면 보안 위험
- 데이터 전송 속도 빠름
비대칭키 암호화
- 1개의 쌍으로 구성된 공개키와 개인키를 암호화/복호화 하는데 사용
- 공개키와 개인키는 서로를 위한 1쌍의 키
- 공개키: 모두에게 공개가능한 키
- 개인키: 나만 가지고 알고 있어야 하는 키
- 공개키와 개인키는 서로를 위한 1쌍의 키
- 키가 노출되어도 비교적 안전
- 연산 속도 느림
사용 예시
- 금융 거래 사이트
- 로그인, 회원가입이 필요한 웹사이트
- 이메일 서비스
HTTP VS HTTPS
구분 | HTTP | HTTPS |
보안성 | 데이터가 평문으로 전송, 보안에 취약 | SSL/TLS를 사용하여 데이터 암호화 |
사용 포트 | 80번 | 443번 |
데이터 암호화 | 없음 (평문 전송) | 있음 (공개키/개인키 암호화) |
신뢰성 | 신뢰할 수 없음 (데이터 변조 가능) | 신뢰할 수 있음 (인증서 필요) |
속도 | 빠름 | 느림 |
운영 비용 | 무료 | SSL 인증서 비용 필요 |
'My Study > CS' 카테고리의 다른 글
[소프트웨어] - MVC(Model-View-Controller) 패턴 (0) | 2025.03.24 |
---|---|
[컴퓨터 아키텍처] - CPU와 GPU (1) | 2025.03.23 |
[네트워크] - TCP와 UDP (0) | 2025.03.23 |
[소프트웨어 공학] - 애자일 개발 방법론 (2) | 2025.03.22 |
[CS] - 데이터베이스 (1) | 2025.03.21 |