Hyper Text Transfer Protocol
인터넷에서 데이터를 주고받을 수 있는 프로토콜(규칙, 통신 규약)
주로 HTML 문서를 주고받는 데 쓰인다.
웹에서 네트워크로 서버끼리 통신을 할 때 형식을 규정함
HTTP 프로토콜로 데이터를 주고받기 위해서는 아래와 같이 요청을 보내고 응답을 받는다.
아래는 URL의 기본 구조
URL을 이용하면 서버에 특정 데이터를 요청할 수 있다.
여기서 요청하는 데이터에 특정 동작을 수행하고 싶을 때 HTTP 요청 메서드를 이용한다.
일반적으로 HTTP 요청 메서드는 HTTP Verbs라고 불리며 아래와 같이 주요 메서드를 갖고 있다.
때에 따라서는 POST 메서드로 PUT, DELETE의 동작도 수행할 수 있다.
서버와 클라이언트 간에 데이터가 교환되는 방식
클라이언트가 리퀘스트를 서버로 전달하는 메시지(요청)
요청에 대한 서버의 답변
start line - 서버가 서버가 수행해야 할 동작(method), 목표주소(URL, 도메인 절대경로..), HTTP 버전
status line - 프로토콜 버전, 요청의 성공 여부, 상태 텍스트
Header - 요청에 대한 설명 또는 메시지 본문에 대한 설명, 리퀘스트에 대한 추가 정보를 담고 있음
Body - HTTP 리퀘스트가 전송하는 데이터를 담고 있는 부분
전송하는 데이터가 없다면 생략됨
서버에서 설정해 주는 응답 정보
2xx - 성공
200번대의 상태 코드는 대부분 성공을 의미합니다.
3xx - 리다이렉션
300번대의 상태 코드는 대부분 클라이언트가 이전 주소로 데이터를 요청하여 서버에서 새 URL로 리다이렉트를 유도하는 경우입니다.
4xx - 클라이언트 에러
400번대 상태 코드는 대부분 클라이언트의 코드가 잘못된 경우입니다. 유효하지 않은 자원을 요청했거나 요청이나 권한이 잘못된 경우 발생합니다. 가장 익숙한 상태 코드는 404 코드입니다. 요청한 자원이 서버에 없다는 의미죠.
5xx - 서버 에러
500번대 상태 코드는 서버 쪽에서 오류가 난 경우입니다.