전체 방문자
오늘
어제
모달조아
Better than yesterday
모달조아
  • 분류 전체보기 (147)
    • PS (86)
      • BOJ (79)
      • 프로그래머스 (6)
    • 이론 (41)
      • 자료구조 (2)
      • 알고리즘 (8)
      • 데이터베이스 (1)
      • 운영체제 (1)
      • 네트워크 (3)
      • 디자인패턴 (7)
      • Java (13)
      • Spring (4)
      • JPA (1)
      • Git (1)
    • 개발 (18)
    • 프로젝트 (1)
    • 기록 (0)
      • 후기 (0)
    • etc (1)

최근 글

티스토리

hELLO · Designed By 정상우.
모달조아

Better than yesterday

이론/네트워크

HTTP 와 HTTPS

2023. 1. 7. 03:13

HTTP

HTTP 프로토콜이란 웹 상에서 데이터를 주고 받기 위해 사용되는 애플리케이션 레벨 프로토콜로 TCP/IP 위에서 작동합니다.
크게 아래와 같은 3가지 특징을 가집니다.
  • 서버-클라이언트 구조
    • 클라이언트에서 요청을 보내면 서버에서 그것에 대한 응답을 보내는 구조입니다.
  • 비연결성
    • 클라이언트와 서버가 연결을 맺은 후, 서버가 응답을 마치면 연결을 끊어버립니다.
    • 장점
      • 하나의 클라이언트가 요청을 지속적으로 보내는 경우는 잘 없습니다. 그렇기에 연결을 유지한다면 많은 리소스가 낭비됩니다. 비연결성을 통해 연결하는데 필요한 리소스를 아껴 더 많은 클라이언트와 연결할 수 있습니다.
    • 단점
      • 매번 TCP/IP 연결을 새로 맺어야합니다. 
  • 무상태
    • 서버가 클라이언트의 상태를 보존하지 않습니다.
    • 장점
      • 상태를 유지하지 않기에 Scale-out 방식 서버 증설에 유리합니다.
    • 단점
      • 로그인과 같이 상태를 유지해줘야 하는 경우 쿠키와 같은 추가 데이터를 계속 전송해줘야 합니다.

 

HTTPS

  • HTTPS는 데이터를 암호화하여 전송하기 때문에 제 3자가 데이터를 가로채도 데이터를 읽을 수 없음.
  • HTTPS에서는 SSL을 사용하여 데이터를 암호화하고 전송
  • SSL은 공개키 암호화 방식을 사용하여 데이터를 암호화함. 이 방식은 대칭키 암호화 방식과 달리 서로 다른 두 개의 키를 사용합니다. 공개키와 개인키로 구성된 공개키 쌍을 사용하여 데이터를 암호화하고, 개인키로만 데이터를 복호화할 수 있음.
    • 먼저, 클라이언트가 서버에 접속하여 SSL 연결을 요청. 서버는 공개키를 클라이언트에게 보내고, 클라이언트는 이 공개키를 사용하여 세션 키를 암호화하여 서버에 전송합니다. 서버는 개인키를 사용하여 세션 키를 복호화하고, 이 세션 키를 사용하여 클라이언트와 서버 간의 통신을 암호화합니다.
저작자표시 (새창열림)

'이론 > 네트워크' 카테고리의 다른 글

세션 인증 방식과 토큰 인증 방식  (0) 2022.12.18
TCP handshake 란?  (0) 2022.12.18
    '이론/네트워크' 카테고리의 다른 글
    • 세션 인증 방식과 토큰 인증 방식
    • TCP handshake 란?
    모달조아
    모달조아

    티스토리툴바