본문 바로가기
웹 개발

http와 https

by xosoy 2024. 3. 12.

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