-
HTTP, HTTPS개발 지식/기타 2020. 7. 23. 23:55
HTTP 와 HTTPS
- - HTTP (HyperText Transfer Protocol)는 HTML 문서와 같은 텍스트들을 송수신 할 수 있게 하는 프로토콜 입니다.
- - 웹상에서 이루어지는 모든 데이터 교환의 기초, 클라이언트-서버 프로토콜
- - 클라이언트의 요청 (request)와 서버의 응답 (response)로 구성
HTTP 프로토콜의 특징
- 1. 비연결지향 (Connectionless)
HTTP는 먼저 클라이언트가 서버에 request를 보내면 서버는 response를 보내고 접속을 끊는다. - 2. 상태정보 유지 안함 (stateless)
연결을 끊는 순간 클라이언트와 서버의 통신이 끝나고 상태정보를 유지하지 않는다.
HTTP 수행 과정
- - 클라이언트와 서버가 HTTP를 이용하여 통신할 때의 수행 과정
-
1. TCP 연결
- - TCP 연결은 요청을 보내거나 응답을 받는데 사용된다.
- - 클라이언트에서는 새 연결이나 기존 연결을 이용합니다.
-
2. HTTP 메시지 전송
GET / HTTP/1.1 Host: www.jutabi.tistory.com Accept-Language: kr
-
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. 연결을 닫거나 재사용
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