HTTP 메소드, 기능
developer.mozilla.org/ko/docs/Web/HTTP/Methods
HTTP 요청 메서드 - HTTP | MDN
HTTP는 요청 메서드를 정의하여, 주어진 리소스에 수행하길 원하는 행동을 나타냅니다. 간혹 요청 메서드를 "HTTP 동사"라고 부르기도 합니다. 각각의 메서드는 서로 다른 의미를 구현하지만, 일부
developer.mozilla.org
메소드
GET
GET 메서드는 특정 리소스의 표시를 요청합니다. GET을 사용하는 요청은 오직 데이터를 받기만 합니다
POST
POST 메서드는 특정 리소스에 엔티티를 제출할 때 쓰입니다. 이는 종종 서버의 상태의 변화나 부작용을 일으킵니다.
PUT
PUT 메서드는 목적 리소스 모든 현재 표시를 요청 payload로 바꿉니다.
DELETE
DELETE 메서드는 특정 리소스를 삭제합니다.
PATCH
PATCH 메서드는 리소스의 부분만을 수정하는 데 쓰입니다.
기본 기능
HTTP를 간단하지만 강력한 프로토콜로 만드는 세 가지 기본 기능이 있습니다.
-
HTTP는 연결이 없습니다. 즉, 브라우저가 HTTP 요청을 시작하고 요청이 이루어진 후 클라이언트는 응답을 기다립니다. 서버는 요청을 처리하고 클라이언트가 연결을 끊은 후 응답을 다시 보냅니다. 따라서 클라이언트와 서버는 현재 요청 및 응답 중에 만 서로에 대해 알고 있습니다. 클라이언트 및 서버와 같은 새로운 연결에 대한 추가 요청이 서로 새로운 것입니다.
-
HTTP는 미디어에 독립적입니다. 즉, 클라이언트와 서버가 데이터 콘텐츠를 처리하는 방법을 알고있는 한 모든 유형의 데이터를 HTTP로 전송할 수 있습니다. 클라이언트와 서버가 적절한 MIME 유형을 사용하여 컨텐츠 유형을 지정해야합니다.
-
HTTP는 상태 비 저장입니다. 위에서 언급했듯이 HTTP는 연결 이 없으며 HTTP가 상태 비 저장 프로토콜 인 직접적인 결과입니다. 서버와 클라이언트는 현재 요청 중에 만 서로를 인식합니다. 그 후 두 사람은 서로를 잊는다. 프로토콜의 이러한 특성으로 인해 클라이언트와 브라우저는 웹 페이지에서 서로 다른 요청간에 정보를 유지할 수 없습니다.
HTTP 메시지
HTTP 메시지는 서버와 클라이언트 간에 데이터가 교환되는 방식입니다. 메시지 타입은 두 가지가 있습니다. 요청(request)은 클라이언트가 서버로 전달해서 서버의 액션이 일어나게끔 하는 메시지고, 응답(response)은 요청에 대한 서버의 답변입니다.
HTTP 메시지의 시작 줄과 HTTP 헤더를 묶어서 요청 헤드(head)라고 부르며, 이와 반대로 HTTP 메시지의 페이로드는 본문(body)이라고 합니다.
HTTP 요청
시작 줄
HTTP 요청은 서버가 특정 동작을 취하게끔 만들기 위해 클라이언트에서 전송하는 메시지입니다. 시작 줄은 다음과 같이 세 가지 요소로 이루어져 있습니다.
HTTP 응답
HTTP 메시지 - HTTP | MDN
HTTP 메시지는 서버와 클라이언트 간에 데이터가 교환되는 방식입니다. 메시지 타입은 두 가지가 있습니다. 요청(request)은 클라이언트가 서버로 전달해서 서버의 액션이 일어나게끔 하는 메시지
developer.mozilla.org
상태 줄
HTTP 응답의 시작 줄은 상태 줄(status line)이라고 불리며, 다음과 같은 정보를 가지고 있습니다.
- 프로토콜 버전: 보통 HTTP/1.1입니다.
- 상태 코드: 요청의 성공 여부를 나타냅니다. 200, 404 혹은 302입니다.
- 상태 텍스트: 짧고 간결하게 상태 코드에 대한 설명을 글로 나타내어 사람들이 HTTP 메시지를 이해할 때 도움이 됩니다.
상태코드
200
HTTP 200 OK는 요청이 성공했음을 나타내는 성공 응답 상태 코드입니다. 기본값에서 200 응답은 캐시에 저장할 수 있습니다.
404
HTTP 404 Not Found 클라이언트 오류 응답 코드는 서버가 요청받은 리소스를 찾을 수 없다는 것을 의미합니다. 404 페이지를 띄우는 링크는 대체로 브로큰 링크(broken link) 또는 데드 링크(dead link)라고 부르며, link rot 대상일 수도 있습니다.
404 상태 코드는 리소스가 일시적, 또는 영구적으로 사라졌다는 것을 의미하지는 않습니다. 리소스가 영구적히 삭제되었다면 404 상태 코드 대신 410 (Gone) 상태 코드가 쓰여야 합니다.