[HTTP] 7계층 프로토콜 HTTP

cowmin·2025년 6월 20일

http 프로토콜
HTTP (HTTPS -> SSL/TLS)
HTML과 JS와 CSS같은 파일을 웹 서버에게 요청하고 받아오는 프로토콜

HTML 웹 페이지를 채울 내용
Javascript 웹 페이지에 들어갈 기능
CSS 웹 페이지를 예쁘게 꾸밀 디자인

웹 서버 페이지를 만드는 기술들(백엔드)
ASP/ASP.NET
JSP
PHP
DB

http 프로토콜 특징
HyperText Transfer Protocol ( 하이퍼 텍스트 전송 프로토콜)
www에서 쓰이는 핵심 프로토콜로 문서의 전송을 위해 쓰이며, 오늘날 거의 모든 웹 애플리케이션에서 사용되고 있다.
Request / Response ( 요청/응답 ) 동작에 기반하여 서비스 제공

http 버전
HTTP 1.0
단순 동작 ( 연결 수립, 동작, 연결 해제 )이 반복되어 통신 부하 문제 발생
HTTP 1.1
Server가 갖는 하나의 IP Address와 다수의 Web Site 연결 가능

요청헤더
쿠키 : 웹브라우저에 저장되는 사용자 정보
자바스크립트로 접근 가능한 쿠키 (프론트)
http로만 접근 가능한 쿠키 (백) -> 중요한 정보

요약
요청헤더 구조
메서드 공백 URL 공백 HTTP버전
헤더
공백
바디

메서드 GET(데이터를 URL에 포함), POST(데이터를 바디에 포함)
URL: 양식://도메인주소:포트/경로?쿼리
헤더: Cookie(중요)

응답헤더 구조
HTTP버전 상태코드 상태메시지
헤더
공백
바디

상태코드: 200, 400(프론트 문제), 500(백 문제)
헤더: Set-Cookie(중요)

SSL(Secure Sockets Layer)
대칭키, 비대칭키 둘 다 사용
TLS(Transport Layer Security)

암호화: 평문을 암호문으로 바꾸는 것

복호화: 암호문을 평문으로 바꾸는 것

키: 암호화 복호화하는데 필요한 정보
대칭키 암호화: 암호화, 복호화하는데 사용하는 키가 같음
각 사용자마다 통신할때 쓰는 키를 따로 생성, n(n-1)/2
암호화 빠름
DES, AES

비대칭키 암호화: 암호화, 복호화하는데 사용하는 키가 다름
각 사용자마다 자기의 키를 2개 생성(개인키, 공개키), 2n
암호화 느림
특정 사용자의 개인키, 공개키는 무조건 세트
특정 키로 암호화하면 세트인 키로만 복호화
개인키는 절대 공유 x
공유키는 공유 o
RSA, ECC

무료 ssl 사이트: zerossl
무료 도메인 사이트: 내도메인.한국

  1. 도메인 주소 설정: 내도메인.한국, 도메인에 A레코드 설정
    www =ip 주소
  2. ssl 인증서 발급 zerossl
  3. 서버에 ssl 적용

0개의 댓글