Computer Science/네트워크

[네트워크] HTTP와 HTTPS 차이점

leedaramji 2023. 11. 21. 03:07


HTTP (Hyper Text Transfer Protocol)

 

클라이언트와 서버 간에 자료를 주고받으려면 미리 약속된 규칙이 필요하다. 이것을 프로토콜이라고 하고, 웹에서는 HTTP라는 프로토콜을 사용한다. 

클라이언트에서 서버로 자료 요청하는 것은 HTTP 요청(HTTP request), 서버에서 응답해서 클라이언트로 자료를 보내는 것은 HTTP 응답(HTTP response)라고 한다.

 

  1. 단점1 : 암호화하지 않은 통신 / 통신 경로상에 있는 네트워크 기기나 케이블 컴퓨터와 같은 기기를 통해 도청할 수 있다. 
  2. 단점2 : 통신 상대를 확인하지 않기 때문에 신뢰성이 떨어진다. HTTP는 누가 요청을 보내와도 응답을 해주는 구조인데 요청을 보내는 클라이언트에 대한 확신이 없다. (HTTP - 의문의 클라이언트) 
  3. 단점3 : 그리고 응답해주는 서버에 대한 확신도 없다. 내가 의도한 서버인지 알 수 없다.
  4. 서버와 클라이언트가 보낸 정보를 중간에 누군가 바꿀 위험이 발생한다. 

 

HTTPS +SSL

 

HTTPS는 SSL이라는 것을 이용한 HTTP 통신 방식이다. HTTP는 보안에 취약하기 때문에 SSL이라는 것을 씌워서 HTTP의 약점을 보완한다. SSL은 암호화 기반 인터넷 보안 프로토콜이다. 인터넷 통신에 개인정보 보호, 인증, 데이터 무결성을 위해 개발되었다. 웹상에 데이터 메시지는 누구나 읽을 수 있는 일반 텍스트로 전송되는데 예를 들어 유저가 인터넷 쇼핑몰에서 주문을 하고(쇼핑몰), 신용카드 정보를 입력했다고 치면 (서버), 이 신용카드 정보가 암호화되지 않은 상태로 인터넷 상을 이동하게 된다.(인터넷)


만약 사이트에 전자상거래나 방문자들에 대한 개인 정보를 다루지 않는다면 HTTPS로 전환할 필요성을 느끼지 못할 수도 있다. 하지만 HTTPS로 전환을 하게 되면 보안상 우위에 있을 뿐만 아니라 검색엔진 최적화에도 도움을 받을 수 있다. HTTPS 전환을 장려하기 위해 HTTPS 페이지에 검색순위 결과에 약간의 가산점을 준다. 


보안 뿐만 아니라 검색엔진 최적화에도 도움을 받을 수 있다는 장점이 있다. SSL 말고 TLS도 있는데 이것은 더 많은 개인 정보 보호 및 보안 기능이 추가된 암호화 프로토콜이다. SSL의 취약점을 보완하고자 참고해서 표준화 시킨 것이 TLS이므로 둘은 기능과 용도가 같기 때문에 붙여서 사용하기도 한다. (SSL/TLS)


HTTPS는 HTTP에 Secure을 붙여 HTTP에서의 통신을 안전하게 보호하기 위해 보안이 추가된 것이다. 웹상에서 인터넷 뱅킹, 신용카드 관련 서비스, 개인정보를 등록하고 수정하는 경우처럼 보안이 필요한 경우를 위해 HTTPS가 개발되었다. 구글에서 점차 HTTP 통신을 차단하고 있으니 개발할 때 모든 통신 요소를 HTTPS로 진행해야 한다는 점 잊지 않기.