HTTP

yellowbutter·2022년 12월 5일
0

WECODE

목록 보기
2/2
post-thumbnail

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
기록은 희미해지지 않는다 🐾🧑‍💻

0개의 댓글