HTTP 개요
HTTP(HyperText Transfer Protocol)는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜입니다. 클라이언트가 요청하면 서버에서 응답하는 과정으로 동작합니다.
HTTP 특징
- 상태를 유지하지 않는 비연결성 프로토콜입니다.
- 요청/응답 방식으로 동작합니다.
HTTP Request
- Method : HTTP Method
- Path : 요청한 리소스 경로
- Version of the protocol : HTTP 프로토콜 버전
- Headers : 요청한 나머지 헤더
HTTP Response
- Version of the protocol : HTTP 프로토콜 버전
- Status code : 상태 코드
- Status message : 상태 코드 설명
- Headers : 응답한 나머지 헤더
- 요청한 리소스
HTTP Method
- GET : GET 메서드는 특정 리소스의 표시를 요청합니다. GET을 사용하는 요청은 오직 데이터를 받기만 합니다.
- POST : POST 메서드는 특정 리소스에 엔티티를 제출할 때 쓰입니다. 이는 종종 서버의 상태의 변화나 부작용을 일으킵니다.
- PUT : PUT 메서드는 목적 리소스 모든 현재 표시를 요청 payload로 바꿉니다.
- DELETE : DELETE 메서드는 특정 리소스를 삭제합니다.
HTTP Status code
성공 응답
- 200 OK : 요청이 성공적으로 되었음을 의미합니다. HTTP Method에 따라 달라집니다.
클라이언트 에러 응답
- 400 Bad Request : 잘못된 문법으로 서버가 요청을 이해할 수 없음을 의미합니다.
- 401 Unauthorized : 인증되지 않은 클라이언트가 서버에 요청했음을 의미합니다.
- 403 Forbidden : 클라이언트가 콘텐츠에 접근할 권리를 가지고 있지 않음을 의미합니다. 401과 다른 점은 서버는 클라이언트가 누구인지 알고 있습니다.
- 404 Not Found : 클라이언트가 요청한 리소스를 서버가 찾을 수 없음을 의미합니다. 인증받지 않은 클라이언트로부터 리소스를 숨기기 위해 이 응답을 403 대신 전송할 수도 있습니다.
서버 에러 응답
- 500 Internal Server Error : 서버가 처리 방법을 모르는 상황이 발생함을 의미합니다.
- 502 Bad Gateway : 서버가 요청을 처리하는데 필요한 응답을 얻기 위해 게이트웨이로 작업하는 동안 잘못된 응답을 수신했음을 의미합니다.
- 503 Service Unavailable : 서버가 요청을 처리할 준비가 되지 않음을 의미합니다.
- 504 Gateway Timeout : 서버가 게이트웨이 역할을 하고 있으며 응답을 받을 수 없을 때 주어집니다.
출처
- https://developer.mozilla.org/ko/docs/Web/HTTP/Overview
- https://developer.mozilla.org/ko/docs/Web/HTTP/Status