HTTP

정승옥(seungok)·2021년 2월 28일
0

세션 정리

목록 보기
1/5

1. HTTP

  • HyperText Transfer Protocol 의 약자
  • HyperText : 참조를 통해 한 문서에서 다른 문서로 접근할 수 있는 텍스트
  • Transfer : 전송하다라는 사전적 의미를 가지며 보내는 주체와 받는 주체가 있다는 것이 가장 큰 특징이다.
  • Protocol : 협약, 통신규약으로 컴퓨터끼리 어떻게 HTML 파일을 주고 받을지에 대한 약속이다.

2. HTTP 의 특징

🤜 2-1. Request / Response (요청,응답)

  • 보내는 주체는 받는 주체에 요청을 보낸다.
  • 받는 주체는 보내는 주체의 요청에 대한 응답을 보낸다.

🤜 2-2. Stateless

  • state(상태) + less(없음)
  • 각각의 HTTP 통신은 독립적 이기 때문에 이전 통신에 대한 내용은 알 수 없다.
  • 다시말해 매 통신마다 필요한 모든 정보를 포함해 요청해야한다.
  • 로그인 토큰, 쿠키 / 세션 스토리지 / 로컬 스토리지 같은 기술이 연속된 데이터 처리가 필요한 경우를 위해 만들어졌다.

3. Request / Response

🤜 3-1. Request 메시지 구조

  • 클라이언트에서 서버에 데이터 처리시작하기 위해 보내는 메시지
  • Start Line , Headers , Body 3가지로 구분
  • Start Line : 다음 3가지로 구성
    1) HTTP Method 👉 GET / POST / DELETE (요청이 의도한 액션 정의)
    2) Request target 👉 Request 가 전송되는 목표 URL
    3) HTTP Version 👉 HTTP 버전
  • Headers : 해당 요청에 대한 추가정보(메타정보)를 담고 있다.
  • Body : 해당 요청의 실제 내용으로 POST 메소드를 사용한다.

🤜 3-2. Response 메시지 구조

  • Status Line , Headers, Body 3가지로 구분
  • Status Line : 응답의 상태 줄로 요청에 대한 처리상태를 알려주며 시작한다.
    1) HTTP Version 👉 요청의 HTTP 버전과 동일
    2) Status Code 👉 응답 메세지의 상태 코드
    3) Status Text 👉 응답 메세지의 상태를 간략하게 설명하는 텍스트
  • Headers : 응답에 대한 추가정보를 담고 있다.
  • Body : 응답 내용을 담고 있으며 JSON 타입이 가장 많이 사용된다.

4. HTTP Request Method

🤜 4-1. GET

  • 어떤 데이터를 서버로 부터 받아올때 사용하는 메소드
  • 데이터를 받아오기만 할 때 사용된다.

🤜 4-2. POST

  • 데이터를 생성, 수정할 때 사용되는 메소드
  • 대부분 요청에 body가 포함되어 보내진다.

🤜 4-3. DELETE

  • 특정 데이터를 서버에서 삭제 요청을 보낼 때 사용되는 메소드

5. Response Status Codes

  • 200 : OK
    👉 문제 없이 요청에 대한 처리가 이뤄졌을 때 보내지는 코드
  • 201 : Created
    👉 대게 POST 요청에 따라 서버에 데이터가 생성 또는 수정됐을 때 보내지는 코드
  • 400 : Bad Request
    👉 해당 요청이 잘못 되었을 때 보내지는 코드
    👉 요청의 Body 내용이 잘 돼있을 때 사용되는 코드
  • 401 : Unauthorized
    👉 요청을 진행하려면 로그인이나 회원가입이 필요하다는 코드
  • 403 : Forbidden
    👉 유저가 해당 요청에 대한 권한이 없다는 뜻
    👉 접근 불가한 정보에 접근했을 경우
  • 404 : Not Found
    👉 요청된 URL 이 존재하지 않는 경우
  • 500 : Internal Server Error
    👉 서버에서 에러가 났을 때 보내지는 코드
profile
Front-End Developer 😁

0개의 댓글