Computer Science/네트워크

[네트워크] HTTP와 HTTPS의 동작 과정

excited-hyun 2021. 5. 21. 01:54
반응형

우리가 Chrome 을 실행시켜 주소창에 특정 URL 값을 입력시키면 어떤 일이 일어나는가?

HTTP의 경우 동작 과정

1. 브라우저는 DNS 서버로 가서 그 주소에 해당하는 ip주소를 찾아서 이를 받아온다.

2. 목적지의 ip를 알게 되었으니 TCP 통신을 통해서 소켓을 개방한다.

3. 브라우저는 해당 사이트의 사본을 클라이언트에게 보내달라는 HTTP 요청 메시지를 서버로 전송한다.

4. 만약 라우팅 중 프록시 서버를 만나는 경우 웹 캐시에 저장된 정보를 응답 받게 된다.

5. 프록시 서버를 만나지 못하여 특정 URL을 서빙하는 서버에 도달하게 되어 이 메세지를 받은 서버는 클라이언트의 요청을 승인하고, 요청에 맞는 데이터를 전송한다.

6. 서버는 웹사이트의 파일들을 데이터 패킷으로 브라우저에 전송하고, 브라우저의loader는 해당 응답을 다운로드할 지 결정한다.

7. 브라우저는 패킷들을 완전한 웹 사이트로 조립한 뒤 그를 보여준다.

 

HTTPS의 경우 동작 과정

SSL handshaking이 일어나야한다.

1. 웹브라우저가 서버에 접속을 하면 서버는 CA기업이 서버의 정보를 CA 기업의 개인 키로 암호화한 인증서를 전달한다.

2. 웹브라우저는 이미 알고 있던 인증기관의 공개키로 인증서를 해독하여 검증한다. 이 해독을 통해 서버의 정보와 서버의 공개키를 알 수 있게 된다.

3. 클라이언트는 이렇게 얻은 서버의 공개키로 대칭키를 암호화해서 서버에 보낸다.

4. 서버는 개인키로 그를 해독해 대칭키를 얻게 되고, 이제 그 대칭키로 데이터를 암호화하여 주고받을 수 있게 된다.

728x90
반응형