ABOUT ME

-

  • HTTP, HTTPS
    개발 지식/기타 2020. 7. 23. 23:55

    HTTP 와 HTTPS

    • - HTTP (HyperText Transfer Protocol)는 HTML 문서와 같은 텍스트들을 송수신 할 수 있게 하는 프로토콜 입니다.
    • - 웹상에서 이루어지는 모든 데이터 교환의 기초, 클라이언트-서버 프로토콜
    • - 클라이언트의 요청 (request)와 서버의 응답 (response)로 구성

    HTTP 프로토콜의 특징

    1. 1. 비연결지향 (Connectionless)
      HTTP는 먼저 클라이언트가 서버에 request를 보내면 서버는 response를 보내고 접속을 끊는다.
    2. 2. 상태정보 유지 안함 (stateless)
      연결을 끊는 순간 클라이언트와 서버의 통신이 끝나고 상태정보를 유지하지 않는다.

    HTTP 수행 과정

    • - 클라이언트와 서버가 HTTP를 이용하여 통신할 때의 수행 과정
    1. 1. TCP 연결

      • - TCP 연결은 요청을 보내거나 응답을 받는데 사용된다.
      • - 클라이언트에서는 새 연결이나 기존 연결을 이용합니다.
    2. 2. HTTP 메시지 전송

      GET / HTTP/1.1
      Host: www.jutabi.tistory.com
      Accept-Language: kr
    3. 3. 응답 읽기

      HTTP/1.1 200 OK
      Date: Wed, 22 Jul 2022 01:00:00 KST
      Server: Apache
      Last-Modified: Tue, 01 Dec 2020 20:18:22 KST
      ETag: "51142bc1-7449-479b075b2891b"
      Accept-Ranges: bytes
      Content-Length: 1024
      Content-Type: text/html
      
      <!DOCTYPE html... (요청한 1024 바이트의 html)
    4. 4. 연결을 닫거나 재사용

    HTTPS 의 존재 이유

    • - HTTP 프로토콜을 사용하면서 전송되는 데이터의 무결성과 기밀성을 유지할 수 있게 하는 프로토콜
    • - 전송되는 데이터를 암호화한다.
    • - 전송되는 동안 데이터의 변경이나 손상을 방지한다.
    • - 접속한 사이트가 사용자가 원하는, 안전한 사이트임을 인증한다.
    • - 대게 SSL 이나 TLS 인증서를 이용하여 보안한다.

    SSL

    • - 통신하는 두 개체 (클라이언트와 서버)간의 전송되는 데이터를 암호화하여 보안을 유지하는 기술

      작동방식

      • - 웹사이트에서 새로운 세션을 시작할 때마다 브라우저와 서버는 SSL 인증서를 교환하고 검증합니다.
      • - 공개키 암호화 방식을 사용할 때 서버와 브라우저는 퍼블릭 키를 공유하고 브라우저는 이것을 이용하여
        암호화합니다.
      • - 서버에서는 서버만이 알고있는 개인키를 이용하여 데이터를 해독하고 세션이 지속되는 동안 암호화된
        연결을 구축합니다.

        사용 이유

      • - 클라이언트가 서버에 데이터를 요청하는데 있어서 개인정보들을 전송해야 하는 상황에 사용합니다.
      • - 결제 정보(카드 번호...)이외에도 일반적인 요청도 침입자가 탈취, 손상, 변경 할 수 있음으로 사용합니다.

    '개발 지식 > 기타' 카테고리의 다른 글

    DMS, DMM, DD (위도와 경도)  (0) 2020.08.22
    Design Pattern  (0) 2020.07.23
    Cookie & Session  (0) 2020.07.23
    펌) 우분투 오라클 xe 설치  (0) 2020.06.07

    댓글

Designed by Tistory.