HTTP & API 개념 정리

봉희·2022년 12월 26일

HTTP

목록 보기
1/1

HTTP
웹 환경에서 서버와 클라이언트가 어떻게 데이터를 주고받을지 정해 놓은 규칙
(거의 모든형태의 데이터 전송이 가능하다 )
ex) HTML, JSON, XML, 이미지, 음성 등...

  • 특징
  1. 클라이언트, 서버 구조로 되어 있다.
  2. 무상태 프로토콜 특징을 갖는다.
    2-1. 상태유지: 서버가 클라이언트의 정보를 계속 갖고 있음, 서버의 확장성이 떨어진다. 서버는 우리 상태를 항상 기억하고 있다고 가정하고 요총을 보냄
  • HTTP 요청 메시지 구조: 시작라인, 헤더, 공백, 바디로 나뉜다.

  • HTTP 응답 메시지 구조: 시작 라인, 헤더, 공백, 바디
    시작라인에 HTTP버전, 상태코드, 이유 문구가 들어간다

  • HTTP 상태 코드

API: 어플리케이션 프로그래밍 하는데 사용되는 인터페이스
서버는 클라이언트에게 회원가입을 시키는 API를 URL 형태로 제공한다. (클라이언트는 서버에서 무슨 로직으로 회원가입을 동작 시키는지 전혀 모른다)
ex) POST /app/users

REST API
HTTP 요청을 보낼 때, 메소드 + URL형태로 개발자들 사이에 널리 지켜지는 약속

  • REST API 설계 규칙
  1. 메소드는 동사형, URL은 명사형(복수형)으로 기입한다.
  2. GET의 경우, 요청 리소스에 맞게 path variable, query string을 기재
  3. URL에서는 구분자는 -(하이픈)으로 한다
  4. 리소스를 명사형으로 표현하기 애매한 상황엔 형용사를 섞지만, 마지막은 명사형으로 유지한다.

ex)
제목, 작성 일자를 기준으로 게시물 조회
GET /boards?title=&startDate=&end_date=
이메일 중복 검사 조회
GET /duplicated-emails
특정 게시물의 특정 댓글 수정
PATCH /boards/{boardId}/comments/{commentId}

profile
3년 차 웹 풀스택 개발자 | 더 나은 사용자 경험을 만드는 개발자

0개의 댓글