본문 바로가기

개발/신입개발자 기술면접

[신입개발자 기술면접] HTTP / HTTPS 설명

반응형

HTTP (Hypertext Transfer Protocol)와 HTTPS (Hypertext Transfer Protocol Secure)는 웹에서 정보를 주고받기 위한 프로토콜로, 클라이언트와 서버 간의 통신을 담당합니다. 

 

주로 웹 브라우저와 웹 서버 간의 통신에 사용되며, 웹페이지의 요청과 응답을 관리합니다.

 

 

 

 

1. HTTP (Hypertext Transfer Protocol)

   - 특징
     - 기본적인 텍스트 기반 프로토콜로, 보안 기능이 없습니다.
     - 데이터가 평문으로 전송되기 때문에, 도청이나 변조의 위험이 있습니다.
   - 사용
     - 주로 정보를 안전하게 전송할 필요가 없는 경우에 사용됩니다.
     - 예를 들면 뉴스 기사, 블로그 글 등의 정보를 요청하거나 전송할 때 사용될 수 있습니다.

 

 

2. HTTPS (Hypertext Transfer Protocol Secure)

   - 특징
     - 보안이 강화된 HTTP로, 데이터를 암호화하여 전송합니다.
     - SSL (Secure Sockets Layer) 또는 TLS (Transport Layer Security) 프로토콜을 사용하여 보안성을 확보합니다.
     - URL은 "https://"로 시작하며, 포트는 일반적으로 443번을 사용합니다.
   - 사용
     - 민감한 정보(개인정보, 결제 정보)를 주고받아야 하는 경우에 사용됩니다.
     - 로그인 페이지, 결제 페이지 등에서 사용자 데이터를 보호하기 위해 적용됩니다.

 


 

동작 과정

1. HTTP

   - 클라이언트가 서버에게 요청(Request)을 보냅니다.
   - 서버는 해당 요청에 대한 응답(Response)을 생성하여 클라이언트에게 보냅니다.

 

 

2.HTTPS

    - 클라이언트가 서버에게 요청을 보내면, 서버는 공개키를 클라이언트에게 제공합니다.
   - 클라이언트는 서버의 공개키를 사용하여 세션 키(대칭키)를 암호화하여 서버로 전송합니다.
   - 이후의 데이터 전송은 세션 키를 사용하여 암호화되어 보안이 유지됩니다.


HTTPS는 암호화를 통해 데이터의 기밀성을 보장하고, 중간자 공격과 같은 보안 위협으로부터 사용자 데이터를 보호하는 데 중요한 역할을 합니다. 현재, 대다수의 웹사이트에서는 보안을 강화하기 위해 HTTPS를 사용하고 있습니다.

반응형