본문 바로가기

CS

Http와 Https

HTTP 

Hyper Text Transfer Protocol의 줄임말으로서 서버와 클라이언트간에 데이터를 주고 받는 프로토콜입니다.

 

프로토콜(Protocol)이란?

통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 즉 통신 규약 및 약속이다.

 

HTTP는 텍스트, 이미지,영상, JSON 등등 거의 모든 형태의 데이터를 전송할수 있습니다.

HTTP 통신은 클라이언트와 서버간의 통신에 있어서 별다른 조치가 없기 때문에 누군가 네트워크 신호를 탈취 한다면 문제가 발생 할 것 입니다.

이런 문제를 해결하기 위해 등장한 것이 HTTPS입니다.

 

Http+Secure = Https

거의 모든 사이트의 주소창에 위에 사진과 같이 자물쇠 표시를 볼 수 있습니다.

이것이 바로 HTTPS가 적용되었다는 것을 알 수 있습니다.

 

기존의 HTTP 프로토콜은 전송계층의 TCP위에서 동작을 합니다.

 

여기서 TCP/IP는 네트워크 프로토콜 스위치로, 온라인상의 안전하고 효율적인 데이터 존송의 필수 요건을 정의한다.

 

여기서 SSL이라는 이라는 보안계층이 전송 계층 위에 올라갑니다. 이때 HTTPS는 SSL 위에 HTTP를 얹어서 보안이 보장된 통신을 하는 프로토콜 입니다. 이 통신 방식을 SSL 암호화 통신이라고 합니다. 

SSL 암호화 통신은 공개키 암호화 방식이라는 알고리즘을 통해 구현이 되고 

 

방식으로는 공개키 방식, 대칭키 방식이 존재 한다.

 

공개키 방식으로는 

A키로 암호화를 하면 B키로 복호화 가능

B키로 암호화를 하면 A키로 복호화 가능 

둘 중 하느를 비공개키 혹인 개인 키리라고 부르며, 이는 자신만 가지고 있고 공개되지 않는다.

*나머지 하나를 공개키라고 부르기 때문에 타인에게 제공한다. 공개키가 유출이 되더라도 나머지 키를 모르면 복호화 할 수 없다.

 

대칭키 방식

동일한 키로 암호화, 복호화 가능

대칭키는 매번 랜덤으로 생성되어 유출되어도 다음에 사용 할 때는 다른 키가 사용되기 때문에 안전

공개키보다 빠르게 통신 할 수 있다.

 

이 모든 방식의 통신은 SSL방식을 적용하여 통신을 한다.

 

 

 

출처 - https://mangkyu.tistory.com/98

 

 

'CS' 카테고리의 다른 글

Git Branch 종류  (1) 2024.11.26
Redis  (0) 2024.01.18
원자성,가시성  (0) 2023.02.02
동기화 , 비동기화  (0) 2023.01.21
싱글톤(Singleton) 패턴이란?  (0) 2023.01.09