HTTP란?
- Hyper Text Transfer Protocol
- HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜(규칙, 규약)
- WEB(WWW)에서 이루어지는 모든 데이터 교환의 기초
- 클라이언트 - 서버 프로토콜이라고도 부름
요청과 응답
- 요청(requests)
- 클라이언트(웹브라우저)에 의해 전송되는 메시지
- 응답(response)
HTTP 특징
- 비 연결 지향(connectionless)
- 서버는 요청에 대한 응답을 보낸 후 연결을 끊음
- 예를 들어 우리가 네이버 메인 페이지를 보고 있을 때 우리는 네이버 서버와 연결 되어 있는 것이 아님
- 네이버 서버는 우리에게 메인 페이지를 응답하고 연결을 끊음
- 무상태(stateless)
- 연결을 끊는 순간 클라이언트와 서버 간의 통신이 끝나며 상태 정보가 유지되지 않음
- 클라이언트와 서버가 주고받는 메시지들은 서로 완전히 독립적
HTTP Request Methods
- 리소스에 대한 행위를 정의(리소스 : 문서, 사진 등 HTTP 요청의 대상을 의미)
- HTTP verbs라고도 함
- GET, POST, PUT, DELETE 등
- GET : 서버에 리소스의 표현을 요청.
- POST : 데이터를 지정된 리소스에 제출. 서버의 상태를 변경
- PUT : 요청한 주소의 리소스를 수정
- DELETE : 지정된 리소스를 삭제
HTTP Response Status Codes
- 특정 HTTP 요청의 완료 여부를 나타내며, 5개의 그룹으로 나뉨
- Informational Responses (100~199)
- Successful Responses (200~299)
- Redirection Messages (300~399)
- Client Error Responses (400~499)
- Server Error Responses (500~599)