728x90
1. HTTP
- 정의
- HyperText Transfer Protocol 하이퍼텍스트 전송 규약
- 클라이언트와 서버 간 하이퍼텍스트를 교환하거나 전송할 때 사용하는 통신 규약
- 작동
- 클라이언트는 서버에 HTTP 요청 메시지를 보냄
👉 서버는 클라이언트에 응답 메시지(완료 상태, 요구받은 콘텐츠 등의 요청 관련 정보 포함)를 회신함 - 응용 계층에서 작동함
: 최상위 차원에서 웹 브라우저와 웹 서버가 서로 이해하고 소통할 수 있게 돕는 언어 - 데이터 전송은 TCP(전송 계층 프로토콜)로 이루어짐
응용 계층이 궁금하다면? ↓ ↓
2024.05.29 - [Computer Science/Network] - [Network] OSI 7계층과 TCP/IP 4계층
TCP가 궁금하다면? ↓ ↓
2024.05.30 - [Computer Science/Network] - [Network] TCP와 UDP
- HTTP 헤더
- HTTP는 HTTP에 헤더에 요청 및 응답에 관한 정보를 모두 저장하고
브라우저와 웹 서버는 이 헤더를 읽음 - 대표적인 HTTP 상태 코드
- 200 = 성공(요청 완료)
- 404 = 찾을 수 없음
- 500 = 내부 서버 오류
- HTTP의 보안 문제
1) 평문 전송
- HTTP 자체는 암호화되지 않음. 데이터를 평문으로 전송함
👉도청(스니핑) 및 중간자 공격에 취약함
2) 데이터 무결성
- HTTP는 데이터가 전송 중에 변조될 수 있음
(사용자가 방문하는 웹사이트는 HTTP 헤더와 발신 및 대상 IP 주소는 물론, 응답 데이터까지 HTTP를 통해 전송되는 모든 정보를 읽고 수정할 수 있음)
3) 인증 문제
- HTTP는 서버 인증을 제공하지 않음
👉 사용자는 자신이 신뢰할 수 있는 서버와 통신하고 있는지 알 수 없음
👉 프라이버시와 보안 기능을 강화한 HTTPS가 등장함
2. HTTPS
- 정의 및 특징
- HyperText Transfer Protocol Secure 하이퍼텍스트 전송 규약 보안
- 보안 HTTP, Secure HTTP라고도 함
- HTTP + TLS/SSL = HTTPS
- 텍스트를 암호화함
- 작동
- 암호화 프로토콜인 TLS/SSL을 사용하여 통신을 암호화함
- 비대칭 공개 키 인프라로 알려진 것을 사용
- HTTP 메시지를 네트워크로 전송하기 전 암호화된 봉투에 메시지를 넣음
이 봉투 안에는 메시지 본문과 HTTP 헤더가 있고,
발신 및 대상 IP 주소는 암호화하지 않음
👉 어느 노드가 서로 통신해야 하는지는 봉투를 뜯지 않아도 알 수 있음
- TLS : 전송 계층 보안(Transport Layer Security)
- 인터넷 상의 커뮤니케이션을 위한 개인 정보와 데이터 보안을 용이하게 하기 위해 설계되어 널리 채택된 보안 프로토콜
- 웹 응용 프로그램과 서버 간의 커뮤니케이션을 암호화하는 것
- SSL(Secure Sockets Layer)이라고 불리는 이전의 암호화 프로토콜에서 발전한 것
- HTTPS는 HTTP 프로토콜 상위에서 TLS 암호화를 구현한 것
- 역할
- 암호화: 제3자로부터 전송되는 데이터를 숨김
- 무결성: 데이터가 위조되거나 변조되지 않았는지 확인함
- 인증: 정보를 교환하는 당사자가 요청된 당사자임을 보장함
출처
https://github.com/Songwonseok/CS-Study/blob/main/Network/HTTP%26HTTPS.md
https://github.com/devSquad-study/2023-CS-Study/blob/main/Network/network_https.md
https://www.cloudflare.com/ko-kr/learning/ssl/what-is-https/
'Computer Science > Network' 카테고리의 다른 글
[Network] TCP 3way handshake & 4way handshake (0) | 2024.06.03 |
---|---|
[Network] TCP와 UDP (0) | 2024.05.30 |
[Network] OSI 7계층과 TCP/IP 4계층 (0) | 2024.05.29 |
[Network] 대역폭 Bandwidth (1) | 2024.05.22 |
[Network] 네트워크 기초 (0) | 2024.05.22 |