HTTP, REST API

ktooy__·2023년 8월 31일

배포 스터디

목록 보기
3/3

🔗 HTTP(Hypertext Transfer Protocol)

  • web에서 서버와 클라이언트 간의 통신하는 방법을 정한 것
  • 클라이언트는 웹 브라우저 등 서버로 요청을 보내는 대상
  • 서버는 클라이언트가 요청을 보내기 전까지 대응하지 않음.
  • 서버와 클라이언트 사이에는 무수히 많은 요소가 존재하는데, 이런 존재들 사이의 통신 방법을 규정한다.

🔗 HTTP Message

Request(요청), Responses(응답)

  • 서버 주소, 요청 메소드, 상태코드, target path, 헤더 정보, 바디 정보 등이 포함된다.
  • 요청 메세지, 응답 메시지 모양이 다르다.
  • HTTP/1.1 메시지는 사람이 읽을 수 있다. HTTP 2 같은 경우에는 사람이 읽기 불가능하다.

🔗 HTTP Header

  • 헤더에는 콘텐츠 관련 정보, 인증 관련 정보, 쿠키 정보, 캐시 관련 정보 등 서버와 클라이언트 간 통신 시 필요한 정보를 담는다.
  • 클라이언트 요청 시, 서버 응답 시 모두 헤더에 정보를 담을 수 있다.

🔗 HTTP Status

  • HTTP 요청 시, 클라이언트는 요청의 결과에 대한 상태 정보를 얻는다.
  • 200, 400, 500 등 숫자 코드와 OK, NOT FOUND 등의 텍스트로 이루어진다.
  • 코드를 이용해 각 결과에 해당하는 행위를 할 수 있다. (직접 코드로 구현)

🔗 요청 메서드

  • HTTP에서, 클라이언트는 서버로 요청을 보낸다.
  • 요청 시 요청 메서드로 특정 요청에 대한 동작을 정의한다.
  • GET, POST, PUT, PATCH, DELETE, OPTIONS, CONNECT, TRACE 등이 규정된다.

🔗 REST API


(Representational State Transfer API)

  • API(Application Programming Interface)는 사용자가 특정 기능을 사용할 수 있도록 제공하는 함수를 의미한다.
  • REST API는 HTTP의 요청 메서드에 응하는 서버 API와 클라이언트 간 통신의 구조가 지켜야 할 좋은 방법을 명시한 것.
  • 구체적인 내용으로는 요청 메서드의 의미, URI 설계, 클라이언트의 상태에 대한 동작 등을 정의한다.
    GET - 리소스 정보 얻음
    POST - 리소스를 생성
    PUT - 리소스를 생성하거나 업데이트
    DELETE - 리소스를 제거

HTTP는 단순히 통신 규약, REST API가 구체적으로 의미 부여

0개의 댓글