
이전 글에서 HTTP는 클라이언트와 서버 간의 데이터 통신을 정의하는 프로토콜로, 주로 http,https를 사용한다고 말씀드렸습니다.
웹에서 클라이언트와 서버 간의 요청 및 응답을 주고받는 프로토콜이라고 말씀드렸는데, 이번 글에서는 이 http가 어떤 것인지 좀 더 알아보는 글을 작성하려고 합니다.
HTTP는 클라이언트와 서버 간에 요청과 응답을 주고받는 방식으로 동작하는 애플리케이션 계층 프로토콜입니다.
클라이언트와 서버들은 개별적인 메시지 교환에 의해 통신합니다.
보통 브라우저인 클라이언트에 의해 전송되는 메시지를 "요청(requests)"이라고 부르며, 그에 대해 서버에서 응답으로 전송되는 메시지 "응답(responses)"이라고 부릅니다.


: 서버가 수행해야 할 동작을 나타냄
GET /index.html HTTP/1.1
POST /submit-form HTTP/1.1
PUT /update-item/123 HTTP/1.1
PATCH /edit-profile HTTP/1.1
DELETE /delete-item/123 HTTP/1.1
: 요청 타켓은 URL, 프로토콜, 포트, 도메인, 쿼리문자열 등을 포함 할 수 있다.
GET / POST / HEAD / OPTIONS 메서드와 같이 사용됩니다.
POST / HTTP/1.1
GET /background.png HTTP/1.0
HEAD /test.html?query=alibaba HTTP/1.1
OPTIONS /anypage.html HTTP/1.0
: 요청에 대한 성공여부를 나타내는 코드
2XX: 200OK
4XX: 404 Not Found
5XX: 500 Internal Server Error
: 대소문자 구분하지 않으며,"Key:value"형식으로 전송

> Content-Type: application/json // 클라이언트나 서버가 보내는 데이터 형식
: 모든 요청에 본문이 들어가지는 않음(GET, HEAD, DELETE, OPTIONS 처럼 리소스를 가져오는 요청은 보통 본문이 필요 없음)
일부 요청은 업데이트를 하기 위해 서버에 데이터를 전송하고, 보통(HTML 폼 데이터를 포함하는) POST 요청일 경우.
PUT 요청은 리소스를 교체하기 위해 본문을 포함
