HTTP(Hypertext Transfer Protocol)
클라이언트와 서버 간 통신을 위한 프로토콜. 브라우저는 웹 서버에 HTTP 요청을 전송하고 서버는 HTTP 응답으로 응답한다.
HTTP는 암호화되지 않은 평문 데이터를 전송하여 민감한 정보를 제 3자가 조회할 수 있었다.
HTTP (Hypertext Transfer Protocol Secure)
HTTP의 안전한 확장 버전. SSL/TLS 프로토콜을 통해 네트워크 상에서 제 3자가 중간에 정보를 볼 수 없도록 데이터 암호화한다.
대칭키 암호화와 비대칭키 암호화를 모두 사용한다.
- 대칭키 암호화
- 클라이언트와 서버가 동일한 키를 사용하여 암호화/복호화를 한다.
- 키가 노출되는 경우 매우 위험하지만 연산 속도가 빠르다는 이점이 있다.
- 비대칭키 암호화
- 암호화/복호화에 다른 키를 사용
- 키가 노출되어도 비교적 안전하지만 연산 속도가 느리다.
- 공개키 암호화와 개인키 암호화 방식이 있다.
- 공개키: 모두에게 공개 가능한 키. 공개키로 암호화하면 개인키로만 복호화할 수 있다. 개인키를 가지고 있는 나만 볼 수 있다.
- 개인키: 본인만 가지고 있는 키. 개인키로 암호화하면 공개키로만 복호화할 수 있다. 내가 인증한 정보임을 모두에게 알려 신뢰성을 보장한다.
HTTPS는 대칭키 암호화와 비대칭키 암호화를 모두 사용하여 빠른 속도와 안정성을 모두 얻는다.
HTTP와 HTTPS의 차이점
- HTTP는 암호화 과정이 없어서 보안에 취약하다.
- HTTPS를 사용하면 암호화/복호화 과정으로 인해 HTTP보다 속도가 느리다.
- HTTPS는 인증서를 발급하고 유지하기 위한 추가 비용이 발생한다.
'웹 개발' 카테고리의 다른 글
SSR, CSR, SSG의 차이 (0) | 2024.03.19 |
---|---|
검색엔진 최적화(SEO, Search Engine Optimization) (0) | 2024.03.18 |
TCP와 UDP (0) | 2024.03.12 |
CSR과 SSR의 차이점 (0) | 2024.03.12 |
쿠키, 세션, 웹 스토리지의 차이점 (0) | 2024.03.10 |