HTTP Protocol

roses16·2023년 2월 16일
0

HTTP(Hypertext Transfer Protocol) 은 서버와 브라우저 간에 데이터를 주고 받기 위한 형식이다.

브라우저가 서버에게 HTTP Request(URL+Request method)를 보내면 서버에서 브라우저로 HTTP Response(Status code+Response body)를 보내주는 방식으로 통신이 진행된다.


HTTP Request

HTTP Request에는 HTTP request method(HTTP Verbs)를 이용하며 아래와 같이 종류가 구분되어있다.

  • GET : 존재하는 자원에 대한 요청
  • POST : 새로운 자원을 생성
  • PUT : 존재하는 자원에 대한 변경
  • DELETE : 존재하는 자원에 대한 삭제
  • HEAD : 서버 헤더 정보를 획득. GET과 비슷하지만 Response Body를 사용하지않는다.
  • OPTIONS : 서버 옵션을 확인. CORS ( Cross-Origin Resource ) 에서 사용한다.

※ POST method는 PUT과 DELETE의 동작도 수행할 수 있다.


HTTP Response

HTTP Status Code(HTTP 상태 코드)는 서버에서 브라우저로 보내주는 응답정보 중 하나로 다양한 코드가 사용되며 주요한 코드는 아래와 같다.

  • 200번대 : 성공
    • 200 : GET 요청에 대한 성공
    • 204 : No Content. 성공했으나 응답 본문에 데이터가 없음
    • 205 : Reset Content. 성공했으나 클라이언트의 화면을 새로 고침하도록 권고
    • 206 : Partial Content. 성공했으나 일부 범위의 데이터만 반환
  • 300번대 : Redirection. 브라우저가 이전 주소로 데이터를 요청하여 서버에서 새 URL로 redirect를 유도하는 경우
    • 301 : Moved Permanently. 요청한 자원이 새 URL에 존재
    • 303 : See Other. 요청한 자원이 임시 주소에 존재
    • 304 : Not Modified. 요청한 자원이 변경되지 않았으므로 클라이언트에 캐싱된 자원을 사용하도록 권고
  • 400번대 : Client error. Request코드가 잘못된 경우. 유효하지 않은 자원을 요청했거나, 요청이나 권한이 잘못된 경우
    • 400 : Bad Request. 잘못된 요청
    • 401 : Unauthorized. 권한 없이 요청. Authorization 헤더가 잘못된 경우
      → 서버에서 AllowedHeader를 잘못 설정했을 가능성도 있음
    • 403 : Forbidden. 서버에서 해당 자원에 대해 접근 금지
    • 404 : 요청한 자원이 서버에 없음
    • 405 : Method Not Allowed. 허용되지 않은 요청 메서드
    • 409 : Conflict. 최신 자원이 아닌데 업데이트하는 경우
  • 500번대 : Server error
    • 501 : Not Implemented. 요청한 동작에 대해 서버가 수행할 수 없는 경우
    • 503 : Service Unavailable. 서버가 과부하 또는 유지 보수로 내려간 경우

📌 참조

profile
frontend developer 📚

0개의 댓글