Hyper Text Transfer Protocol
서버 http와 클라이언트 http 모델간의 데이터를 주고받기 위한(통신) 프로토콜이다. (80번 포트)
(웹서버) ↔ (브라우저)간의 웹페이지 전달을 위해 사용됨
[HTTP 과정]

- HTTP는 Transport Protocol 중 TCP를 사용
⇒ 데이터 전송 이전에 미리 연결을 맺는 메시지(ACK)를 교환하는 연결 지향 방식 사용
- HTTP 서버는 80번 포트를 사용
- TCP 연결을 위한 메시지(ACK) 가 완료되면 ⇒ HTTP 메시지들을 서버와 클라이언트 간의 송수신 진행
- HTTP 메시지 교환이 끝나면 ⇒ TCP 연결 종료
[HTTP 특징]
stateless
: 웹페이지가 클라이언트에게 어떻게 해석되는지는 아무런 상관 x (전달만!한다)- 서버는 이전 클라이언트의 요청에 대해 저장하지 않아 수초 내에 동일한 obj를 요구해도 다시 보냄
- 이전 요청에 대한 기록을 남기는게 오히려 복잡하여, 단순화 하기 위해 stateless 성질을 갖음
- Method, Path, Version, Headers, Body 등으로 구성됨
- HTTP는
비지속 연결
|지속 연결
2가지 방법이 존재

컴퓨터와 컴퓨터 사이의 이해할 수 있는 언어 (공용언어)
컴퓨터나, 네트워크 장비가 서로 통신하기 위해 미리 정해 놓은 약속, 규약
- 신호를 보낼 때 순서, 데이터 표현 등을 정하는 규칙
[프로토콜 종류]
- Application : HTTP, SMTP, FTP, Telnet
- Presentation : ASCII, MPEG, JPEG, MIDI
- Transport : TCP, UDP, SPX
- Network : IP, IPX
- Data Link : Ethernet, Token Ring, Apple talk’’’
Hyper Text Transfer Protocol Secure
HTTP에 데이터 암호화가 추가된 프로토콜 (443번 포트)
네트워크 상에서 제 3자가 정보를 훔쳐볼 수 없도록 암호화를 지원한다.
이때, 대칭키와 비대칭키를 사용해서 암호화하는 구조이다!
[HTTPS 특징]
- HTTPS는 SSL, TLS 전송 기술을 사용함
- SSL/TLS : TCP, UDP와 같은 일반적인 TRASNPORT PROTOCOL에 안전한 계층을 추가하는 방식
- 이 기술을 위해 웹 서버에 SSL/TLS 인증서를 설치함
- SSL Handshake가 정상적으로 완료되면 HTTPs 통신이 가능하다 → 완료시 폐기
송신자(보내는사람from) 수신자(받는 사람to)가 메시지를 주고받은 사실을 부인하지 못하도록 방지
- B는 A에게 개인키/공개키를 생성한 뒤 공개키를 공개하도록 요구
- B는 A에게 ‘문서’를 개인키로 암호화할 것으로 요구
- B는 이 ‘암호화된 문서’를 수령
- B는 ‘암호화 된 문서’를 A의 공개키로 해독 ⇒ 이 문서가 A의 개인키로 제대로 암호화 되었음을 검증가능
- IF, 해독 x ⇒ 개인키-공개키 쌍이 맞지 않음을 의미
└ 공개한 공개키 오류 or 다른 개인키로 암호화
∵ 이 '암호화된 문서'는 A 의 공개키로만 해독이 가능하므로, 이 '암호화된 문서'는 A 만이 발행할 수 있다는 증거가 된다. 또한, 변조되지 않았음도 동시에 증명할 수 있다.
데이터 보안, 인증 문제를 해결할 수 있으므로 사용ing
데이터 보안

- 사용자가 데이터를 서버로 보내는 과정에서 개인정보와 같은 중요 데이터는 암호화해야함
- 서버만 유일하게 가지고 있는 개인키로 복호화할 수 있고, 서버의 공개키로 암호화해서 보내도록하면 안전하게 전송 가능
⇒ 제 3자가 클라이언트로부터 전송하는 데이터를 볼 수 없어 데이터 보안을 강화 o
인증

- 클라이언트와 서버는 서로 확인을 위해 Handshake 과정을 진행
- 이때, 서버는 CA에서 인증받은 인증서를 클라이언트로 보냄
- 사용자는 CA의 목록을 확인해 공인 인증 기관이 서명한 인증서인지 확인
- CA의 공개키를 이용해 해당 인증서를 복호화
- 복호화에 성공하면 서버의 공개키를 얻음
⇒ 공인인증기관(CA)로부터 서명 받은 서버의 인증서가 공인 인증 기관의 공개키로 복호화가 가능하다는 것을 통해 해당 기관이 인증 받은 단체라는 것을 확인할 수 있음
Uploaded by N2T