업데이트:

개요

만들어둔 api에 프론트에서 연결하려고 했더니 아래와 같은 오류가 발생하였다.

에러를 보면 https로 시작한다.

이는 간단히 https를 http로 바꾸면 해결된다.

문제 없이 연결되었다.

왜 이런 현상이 발생하는건지 알아보기 위해 http와 https의 차이점에 대해 알아보도록 하자.

Hyper Text Transfer Protocol, HTTP

HTTP란 html 문서 같은 자원을 보내고 받기 위한 표준 프로토콜(통신 규약)이다. — 참고

기본으로 80번 포트를 사용하여 요청을 주고 받으며 무상태 프로토콜이다.

무상태 프로토콜?

각각의 데이터 요청이 서로 독립적으로 관리가 되는 프로토콜이라는 의미이다.

클라이언트-서버 모델을 따르기 때문에 클라이언트가 요청을 생성하기 위한 연결을 연 다음, 응답을 받을 때까지 대기한다.

암호화 되지 않은 데이터를 전송하는 프로토콜이기 때문에 제 3자가 정보를 조회할 수 있다.

HTTP Secure, HTTPS

HTTP 프로토콜의 암호화된 버전이 바로 HTTPS이다. — 참고

정보를 암호화하는 SSL(Secure Socket Layer) 프로토콜을 이용하여 데이터를 주고 받는다고 한다.

따라서 금융 활동과 같이 보안이 필요한 정보를 서버와 안전하게 주고 받을 때 사용한다.

http를 암호화 하는 방식에 따라 https 서버에 요청을 하려면 공개키가 필요하다.

암호화 방식에 대해 간단히 살펴보자면, 암호화와 복호화가 가능한 개인키, 공개키가 있다.

그 중 공개키는 말 그대로 모두에게 공개하여 저장소에 등록한다.

  • 개인키로 암호화 > 공개키로 복호화
  • 공개키로 암호화 > 개인키로 복호화

대충 이런.. 과정이라고 하는데 사실 이해는 하지 못했다.

자세한 알고리즘의 경우 이 블로그를 참고하길 바란다.

마치며

https가 보안 관련된 규약이라는 것을 알았으니,

http는 단순 정보 조회에, https는 중요한 정보 처리에 이용하면 되겠다.

댓글남기기