HTTP (Hyper Text Transfer Protocol)

-·2022년 9월 29일
0

Backend

목록 보기
2/2
post-thumbnail

1.HTTP 란?

컴퓨터들끼리 HTML파일을 주고받을 수 있도록 하는 소통방식 또는 약속이다.

  • Hyper Text : 문서와 문서가 링크로 연결되도록 하는 태그로 구성된 언어
  • Trasfer : HTML로 만든 웹페이지 문서를 전달
  • Protocol : 컴퓨터 끼리 어떻게 HTML 파일을 주고 받을지에 대한 소통 방식 또는 약속

2. HTTP 특징

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

HTTP 통신의 핵심은 요청과 응답이고 컴퓨터끼리의 소통방식은 메세지의 형식으로 요청하고 응답한다. 즉, 컴퓨터끼리의 소통도 결국 사람의 필요에 의해서 만든 소통 방식이기 때문에 우리의 소통 방식과 큰 차이점이 없다. 예를들어, 랩탑을 열고 유튜브에 접속하여 내가 평소 즐겨보던 유튜브 영상의 링크를 누른다. 그 순간 내 랩탑은 구글의 서버에게 요청을 보낸다. "골든 리트리버 영상 주세요." 구글의 서버는 이 요청을 처리해서 다시 요청을 보낸 나의 랩탑에 응답을 보낸다. "귀여운 골든 리트리버 영상 드립니다."

2) Stateless

HTTP의 가장 큰 특징이 바로 Stateless 특성이다. 문자 그대로 번역하면 State(상태) + less(없음) 을 의미하는데 각각의 HTTP 통신(요청/응답)은 독립적 이기 때문에 과거의 통신(요청/응답)에 대한 내용을 전혀 알지 못 하는 특징을 의미한다.
그러므로 매 통신마다 사전에 필요한 모든 정보를 담아서 요청을 보내야만 한다.

3. Request / Response

실제 프로젝트를 진행할 때, 프론트엔드에서 백앤드에게 데이터를 요청하고 백엔드는 요청을 처리해서 응답을 준다. 이 요청과 응답에 대한 구조와 메세지를 잘 파악하면 대부분의 에러를 잡아낼 수 있다.

3-1. Request 메세지 구조

3.2. Response 메세지 구조

2)
3. HTTP Request Methods
4. HTTP 메시지 구조
4-1) 요청 메시지 구조

1) Start Line : 요청의 첫번째 줄
POST / login HTTP/1.1
HTTP method : 요청이 의도한 액션을 정의
Request target : 요청이 전송되는 목표 url
HTTP version : HTTP 버전

2) Headers : 요청의 메타데이터를 담고 있는 부분

3) Body : 요청의 실제 내용, 요청 메소드에 따라 존재하지 않을 수 있음

요청 메시지 실제 예시

4-2)Response 메시지 구조

1) Status Line : 응답의 첫번째 줄로 상태를 나타냄

2) Headers

3) Body

응답 메시지 실제 예시

  • HTTP Request Method
    GET : 데이터를 받아오기만 할 때 사용하며 웹페이지에 접속해서 필요한 데이터를 불러올 때 사용
    POST : 데이터를 생성,수정할 떄 사용하며 body에 담는 내용이 핵심!
    DELETE : 서버에 저장된 특정 데이터를 삭제할 때 사용

  • Status code

1) Success
200: OK
가장 자주 보게 되는 Status Code로 문제없이 요청에 대한 처리가 백엔드 서버에서 이루어지고 나서 오는 응답코드

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

요청이 성공했으며 제공할 응답메세지가 없을 경우 사용되는

2) Client Error

400: Bad Request
해당 요청이 잘못되었을 때 보내는 Status Code
주로 요청의 Body에 보내는 내용이 잘못되었을 때 사용

401:
해당 요청을 진행하려면 먼저 로그인 또는 회원가입이 필요하다는 의미를 나타내는 Status code

403 : Forbidden

404 : Not Found

3) Server Error
500 : Internal Server Error

0개의 댓글