http와 https에 대해

항상 졸린사람·2023년 5월 21일
0

HTML/CSS/JS

목록 보기
13/14
post-thumbnail

http, https는 무엇일까?

http를 설명하기 전

http는 클라이언트와 서버가 통신하기 위한 프로토콜이다. http에 대해 설명하기 전 네트워크의 기초가 되는 7레이어에 대해 알아볼 필요가 있을 것 같다.

OSI 7 계층에 대해


해당 그림은 ISO(국제표준화기구)에서 제정한 OSI 모델이라고 하는 네트워크에서 통신을 할때 사용이 되는 초창기의 모델이라고 생각하면 쉬울 것이다( 지금은 해당 계층일 4개로 나눈 TCP/IP 모델을 사용한다 ) 해당 OSI계층은 전송시에는 위의 응용 계층 ~ 물리 계층의 순으로 내려오면서 정보를 전송한다. 정보를 수신할때는 그의 반대로 동작하는 방식인데 우리가 현제 배우고자하는 HTTP와 HTTPS는 가장 위의 응용 계층에서 사용되는 프로토콜이다.

응용 계층에 대해

응용 계층은 네트워크에서 클라이언트가 데이터를 보낼때 보내고자 하는 정보(데이터)를 수신자(서버 등)이 이해 할 수 있는 형태로 바꾸어 주고 전송 계층으로 이를 전달해주는 역할을 한다.
이후 각 계층의 역할에 대해 더 궁금하다면 찾아보는 것도 좋을 것이다.

HTTP

클라이언트가 서버로 데이터를 요청하기 위해 사용되는 프로토콜을 의미하며 서버에서도 정보를 찾고 클라이언트측으로 주기 위해 해당 HTTP 프로토콜을 이용한다. 그런데 이 과정에서 서버와 클라이언트가 연결이라는 과정을 하는데 초창기의 HTTP/1.0 버전에서는 해당 연결을 어떤 데이터를 요청 보낼때 마다 했어야했다 하지만 1.0 이후의 HTTP 버전은 KEEPALIVE라는 기능으로 해당 연결을 데이터의 교환이 모두 끝나면 연결을 끊는 구조로 바뀌었다.

그럼 HTTP와 HTTPS의 차이는 무엇인가?

HTTP와 HTTPS의 차이점은 바로 정보의 보안성에 그 차이가 있다. HTTP는 암호화되지 않은 정보를 그래도 전송하는 방식이며 HTTPS는 공개키와 개인키라는 개념을 이용해 암호화된 정보를 주고받는 방식이다. 듣기만 하면 굉자히 좋을 것 같지만 이 또한 단점이 존재하는데

HTTP와 HTTPS의 각각의 장점과 단점

우선 HTTP의 장점을 정리해보겠다

  • 전송도중 연결이 끊겨도 다시 안해도 괜찮음
  • HTTPS처럼 암호화된 정보를 보내지 않기 때문에 정보가 무겁지 않다.

단점은

  • 스니핑과 같은 해킹에 취약함

HTTPS의 장점

  • 우선 보안이 강력하다.
  • 설령 정보가 중간에 가로채지더라도 해커는 이 정보를 알 수 없다(서버에 있는 개인키가 필요함)

단점은

  • 전송도중 연결이 끊기면 다시 처음부터 보내야함
  • 암호화된 정보를 주고받기 때문에 서버에 과부화가 걸릴 위험이있음

필자가 아는 HTTP와 HTTPS에 대한 내용은 이정도이고 다음은 RestFul API에 대해 포스팅해보겠다.

profile
최대한 쉽고 한국인이 보기 편한 코딩 Velog

0개의 댓글