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
무료 도메인 사이트: 내도메인.한국