[Frontend] HTTP

박감자·2024년 11월 25일
0
post-thumbnail

통신규약 HTTP

HTTP란

정의

HyperText Tranfer Protocol의 약자로 웹에서 데이터를 주고 받기 위한 프로토콜이다. 클라이언트가 요청을 보내면 서버가 응답을 하는 방식.

특징

  • 무상태성 - 어떠한 상태도 유지하지 않는다. 모든 요청은 독립적이라 이전의 요청을 기억하지 않는다
  • 확장성 - 다양한 '확장 헤더'를 추가하여 기능을 확장할 수 있다
  • 유연성 - 다양한 데이터 형식을 전송할 수 있다 ex) text, image, video etc.

요청(request) 메세지

클라이언트가 데이터를 요청할때 서버에 보내는 메세지

  • 요청 라인: 메서드(GET, POST, 등), URL, HTTP 버전
  • 헤더: 요청의 추가 정보(메타데이터)를 담고 있어요. 브라우저 정보, 인증 정보 등
  • 본문: 선택적, 주로 POST 메서드에서 사용
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html

응답(response) 메세지

서버가 요청에 응답할때 클라이언트에게 보내는 메세지

  • 요청 라인: 메서드(GET, POST, 등), URL, HTTP 버전
  • 헤더: 요청의 추가 정보(메타데이터)를 담고 있어요. 브라우저 정보, 인증 정보 등
  • 본문: 선택적, 주로 POST 메서드에서 사용
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1354

<!DOCTYPE html>
<html>
<head>
    <title>Example</title>
</head>
<body>
    <h1>Hello, World!</h1>
</body>
</html>

HTTP 상태 코드

요청을 처리한 결과를 나타낼때 세자리 숫자를 사용하여 상태를 나타냅니다.

HTTP 메서드 및 Rest API

클라이언트의 요청이 무엇인지 알려줄 때 HTTP 메서드를 사용하여 CRUD 작업을 수행해줄 수 있다.

  • GET
    서버로부터 데이터를 요청할 때 사용한다. 요청 데이터가 URL에 포함되어 전송되며, 주로 데이터를 조회할 때 사용.
    • REST API에서의 사용: 특정 리소스를 조회할 때
  • POST
    • 정의: 서버에 데이터를 제출할 때 사용.
    • 특징: 요청 데이터가 요청 본문에 포함되어 전송되며, 주로 데이터를 생성하거나 제출할 때 사용.
    • REST API에서의 사용: 새로운 리소스를 생성할 때 사용.
  • PUT, PATCH
    • 정의: 서버의 데이터를 업데이트할 때 사용.
    • 특징: 요청 데이터가 요청 본문에 포함되어 전송되며, 주로 기존 데이터를 수정할 때 사용.
    • REST API에서의 사용: 기존 리소스를 수정할 때 사용.
  • DELETE
    • 정의: 서버의 데이터를 삭제할 때 사용.
    • 특징: 주로 특정 데이터를 삭제할 때 사용.
    • REST API에서의 사용: 특정 리소스를 삭제할 때 사용.

+) API 명세서 작성 가이드

profile
코딩하는 감자

0개의 댓글