Request & Response

Gunwoo Kim·2021년 5월 21일
0
post-thumbnail

Request(요청) & Response(응답)

1. Request

HTTP 요청은 프론트엔드(클라이언트) 에서 백엔드(서버)에 일(데이터 처리)을 시작하게 하기 위해 보내는 메세지다.
이 메세지의 구조는 크게 세 부분으로 구성되어있다.

1.1. Start Line

요청의 첫번째 줄에 해당한다. 이 시작 줄도 세 부분으로 구성되어있다.

  1. HTTP Method : 해당 요청이 의도한 액션을 정의하는 부분. 주로 GET, POST, PUT, PATCH, DELETE가 많이 쓰임

  2. Request target : 해당 request가 전송되는 url 목적지

  3. HTTP Version: 말 그대로 사용되는 HTTP 버전을 뜻한다. 주로 1.1 버전이 널리 쓰임

    - GET /login HTTP/1.1
    의미: GET 메소드로 /login 에 HTTP 1.1 버전으로 요청

1.2. Headers

해당 요청에 대한 추가 정보(메타 데이터)를 담고있는 부분이다.

  • Key: Value 형태로 되어있다.
  • Headers 의 정보

    Headers : {
    Host : 요청을 보내는 주소.
    웹사이트의 기본 주소가 된다 (ex. www.google.com)
    User-Agent : 요청을 보내는 클라이언트의 대한 정보 (ex. chrome, firefox, safari, explorer)
    Content-Type : 해당 요청이 보내는 메세지 body의 타입 (ex. application/json)
    Content-Length : body 내용의 길이
    Authorization : 회원의 인증/인가를 처리하기 위해 로그인 토큰을 Authroization 에 담는다
    }

1.3. Body

해당 요청의 실제 내용.

**ex) 로그인 시에 서버에 보낼 요청의 내용**
Body: {
	"user_email": "mail@gmail.com"
	"user_password": "password"
}
```

2. Response

HTTP 규약에 따른 응답의 구조도 크게 세 부분으로 구성되어있다.

2.1. Status Line

응답의 상태 줄이다. 응답은 요청에 대한 처리상태를 클라이언트에게 알려주면서 내용을 시작한다.

  1. HTTP Version: 요청의 HTTP버전과 동일

  2. Status Code: 응답 메세지의 상태 코드

  3. Status Text: 응답 메세지의 상태를 간략하게 설명해주는 텍스트

    - HTTP/1.1 200 SUCCESS
    의미: HTTP 1.1 버전으로 응답하고 정상적으로 처리

2.2. Headers

요청의 헤더와 동일하다. 응답의 추가 정보(메타 데이터)를 담고있는 부분이다. 요청하는 브라우저의 정보가 담긴 User-Agent 대신 Server 헤더가 사용된다.

2.3. Body

요청의 Body와 동일하다.

0개의 댓글