HTTP & HTTPS

썩은요플렛's avatar
Aug 01, 2024
HTTP & HTTPS
 
 

HTTP란?

 
HTTP(HyperText Transfer Protocol)는 월드 와이드 웹에서 사용되는 데이터 통신 규약이다. 클라이언트와 서버 간에 데이터를 주고받기 위한 규칙을 정의하며, 주로 웹 페이지를 로드하는 데 사용된다. HTTP는 요청(Request)과 응답(Response) 구조로 이루어져 있으며, 클라이언트가 서버에 요청을 보내면 서버는 이에 대한 응답을 돌려준다.
 

HTTP의 기본 동작 구조

 
WEB서버의 포트는 항상(80) 열려있다
서버소켓을 열면 소켓을 생성해서 다시 클라이언트에게 응답한다.
 
  1. 클라이언트에 BW에는 URL(프로토콜, IP주소, 포트, 자원명)을 소켓을 통해 서버로 보낸다.
  1. HTTP://IP주소:80 (생략가능 디폴트라서)/K.html 을 전송하면
  1. 하드디스크가 K.html을 읽고 서버의 BW에 담아서 클라이언트에 전송시키면 클라이언트의 버퍼리드가 읽어서 그린다
 
클라이언트가 서버한테 요청
요청시에는 browser
일반인들은 아무것도 모르기 때문에 browser로 요청
포트를 통해 특정 app에 연결되면 자원을 요청하게 된다
 
  • get요청 - 내가 url줄테니 니가 하드디스크에서 찾아서 그 데이터를 나한테 줘(최초)
 

프로토콜 예시

 
notion image
 
  • RESPONSE HEADER
CONTENT-TYPE : TEXT/HTML >> MIME타입(미디어타입)
 
  • REQUEST HEADER
method - GET
User-Agent - 요청한 사람의 장비를 알 수있다. (보안이 중요해졌음)
 
 
notion image
 
특정한 요청을 했을 때 원하는 프로그램을 요청받을 수 있도록 개조 한것
 
 

HTTPS란

 
HTTPS(HyperText Transfer Protocol Secure)의 확장으로 웹 브라우징 시 데이터를 안전하게 전송하기 위해 SSL과 TLS 프로토콜을 사용해 통신을 암호화 한다. HTTPS는 데이터 전송을 보호해 데이터의 도청, 변조 및 위조 방지를한다.
 

HTTP와 HTTPS의 차이

 
  • HTTP와 HTTPS의 차이는 HTTP와 달리 HTTPS는 SECURE가 붙는다 즉, 보안이 되어있다는 것이다.
  • HTTP는 데이터를 암호화 하지 않아 복호화 과정이 없어 속도가 빠르다 하지만 공격에 노출 되기 쉽다, 데이터 무결성 보장이 없다 (80 포트 사용)
  • HTTPS는 SSL과 TLS프로토콜을 사용해 데이터를 암호화해 공격을 방지할 수 있음, 데이터 무결성 보장이 가능하고 서버 클라이언트간 신뢰성을 보장함 (443 포트 사용)
 
Share article

RottenYogurt's Development Blog