- HTTP, HTTPS, HTML, CSS, Javascript, ASP/JSP, PHP, DB ...
- Python, Spring, JQuery, Ajax...
- HyperText Transfer Protocol
- www에서 쓰이는 핵심 프로토콜로 문서의 전송을 위해 쓰이며, 오늘날 거의 모든 웹 앱에서 사용되고 있다
- Request/Response 동작에 기반하여 서비스 제공
- 연결 수립, 동작, 연결 해제의 단순함이 특징
- 하나의 URL은 하나의 TCP 연결
- 단점 : 단순 동작이 여러번 반복되어 부하 발생
- 데이터 여러개 받으려면 연결-데이터-해제 를 여러번 했어야함
- HTTP 1.0과 호환
- Multiple Request 처리가 가능하여 연속적인 응답 제공
- 서버가 갖는 하나의 IP 주소와 다수의 Web Site 연결 가능
- 캐시 사용
- 데이터를 압축해서 전달 가능
- 요청하는 방식 정의
- 클라이언트의 정보를 담고 있음
- Request Line :
{요청타입} {URI} {HTTP버전}
-
Status Line
-
Headers
-
공백
-
Body
-
Request Line :
{HTTP버전} {상태코드} {상태문구}
200 OK
정상400번대
클라이언트 잘못403 Forbidden
: 클라이언트가 권한이 없는 페이지 요청404 Not Found
: 클라이언트가 서버에 없는 페이지 요청500번대
서버 잘못500 Internel erver Error
: 서버의 일부가 멈췄거나 설정 오류 발생503 Service Unavailable
: 최대 세션 수 초과
- Content-Length : 메시지 바디 길이
- Content-Type : 메시지 바디에 들어있는 컨텐츠 종류
- Cookie : 서버로부터 받은 쿠키를 다시 서버에게 보내주는 역할
- Host : 필수, 요청된 URL에 나타난 호스트명을 상세하게 표시
- User-Agent : Client Program에 대한 식별 가능 정보를 제공
- Server : 사용하고 있는 웹서버의 SW에 대한 정보
- Set-Cookie : 쿠키를 생성하고 브라우저에 보낼때 사용