TIL . 7 HTTP

Hoontae.KIM·2021년 7월 16일
0
post-thumbnail

HTTP란 뭘까?

HyperText Transfer Protocol의 약자

- HperText

문서와 문서가 링크로 연결되도록 하는 태그로 구성된 언어

- Transfer

간단하게 물건이나 편지따위를 전송한다는 뜻

- Protocol

컴퓨터 끼리 어떻게 HTML파일(HyperText)을 주고 받을지에 대한 약속

HTTP의 특징

1. Request / Response (요청 / 응답)

1 )Request - HTTP 요청은 사실 프론트엔드(클라이언트) 에서 백엔드(서버)에 일(데이터 처리)을 시작하게 하기 위해 보내는 메세지다.

Start line : HTTP Method,Request target,HTTP Version를 담고있다.
headers : 메타 데이터를 담고있는 부분
body : 해당 요청의 실제 내용

2 )Response -응답은 요청에 대한 처리상태를 클라이언트에게 알려주는 것이다.

Status line : HTTP Version, Status Code, Status Text를 담고있다.
headers : Request 와 동일
body : Request 와 동일

2. Stateless

http통신은 개별통신이기에 모두 독립적이고, 통신의 결과를 보존하지않는다.
매 통신마다 사전에 필요한 모든정보를 담아서 요청을 보낸다.
토큰의 정보를 담아야지만 로그인했다는 증거를 남길 수 있다.

HTTP의 메소드(methods)

1. GET

  • 서버로 부터 데이터를 받아오기만 할 때 사용된다.
  • 웹페이지를 띄울 때 필요한 데이터들을 get메소드의 요청을 통해 화면에 나타나는 것이다.
  • body가 포함된다.

2. POST

  • 데이터를 생성 , 수정 할 때 주로 사용되는 메소드
  • 데이터를 생성 및 수정 할 때 많이 사용되기 때문에 대부분의 경우 요청에 body가 포함된다.

3. DELETE

  • 특정 데이터를 삭제요청을 할 때 사용하는 메소드
  • body가 포함되지 않는다.

Status Code

현재 http의 상태를 알려주는 코드 간단하게 설명하면 200대는 성공적, 400대는 프론트 오류, 500대는 백엔드 오류라고 생각하면 되지만 자세히 알아보자

200: OK

  • 가장 자주 보게되는 Status Code
  • 문제없이 요청에 대한 처리가 백엔드 서버에서 이루어지고 나서 오는 응답코드
  • 우리는 모두 200 OK 를 원한다

201: Created

  • 무언가가 잘 생성되었을 때에(Successfully Created) 오는 Status Code
  • 대게 POST 메소드의 요청에 따라 백엔드 서버에 데이터가 잘 생성 또는 수정 되었을 때에 보내는 코드

400: Bad Request

  • 해당 요청이 잘못되었을 때 보내는 Status Code
  • 주로 요청의 Body에 보내는 내용이 잘못되었을 때 사용되는 코드
    ex) 전화번호를 보내야 하는데 숫자가 아닌 문자열의 주소가 대신 Body에 담겼을 경우

401: Unauthorized

  • 유저가 해당 요청을 진행하려면 먼저 로그인을 하거나 회원가입이 필요하다는 의미
    ex) wish list, 좋아요 기능은 회원이 아니면 요청을 보낼 수 없음

403: Forbidden

  • 유저가 해당 요청에 대한 권한이 없다는 뜻
  • 접근 불가능한 정보에 접근했을 경우
    ex) 오직 유료회원만 접근할 수 있는 데이터를 요청 했을 때

404: Not Found

  • 요청된 URI 가 존재하지 않는다는 의미

500: Internal Server Error

  • 서버에서 에러가 났을 때의 Status Code
  • API 개발을 하는 백엔드 개발자들이 싫어하는 코드 (프론트는 내 잘못 아니라는 것을 알 수 있는 코드)
profile
💻 STUDY RECORD

0개의 댓글