Request(요청) 메세지의 구조

HTTP 요청은 클라이언트와 서버 사이에서 데이터 처리를 시작하게 하기 위해 보내는 메세지이다.
이 메세지의 구조는 크게 세 부분으로 구성되어있다

1. Start Line

 1) HTTP Method : 해당 요청이 액션을 정의 하는 부분. GET, POST, DELETE
 2) Request target : 해당 요청이 전송되는 목표 url
 3) HTTP version : HTTP 버전. 주로 1.1 버전이 널리 쓰임

ex)
GET/login HTTP/1.1
해석 : GET 메소드로 login 이라는 요청 타겟에 http 1.1 버전으로 요청을 보내겠다!

2. Headers

  • 요청 그 자체에 대한 정보를 담고 있다.
  • 파이썬 딕셔너리 형태 처럼 Key : Value 값으로 되어있다.
    • Header 정보
      • Host : 요청을 보내는 타겟의 URL 주소. 즉, 요청을 보내는 웹사이트 주소
      • User-Agent : 요청을 보내는 클라이언트의 대한 정보 (ex.chrome, safari .....)
      • Accept :
        • 해당 요청이 받을 수 있응 응답 body 데티어 타입 정보
        • 모든 타입을 허용하는 경우 */* 로 지정
      • Connection :
        • 해당 요청이 끝난 후에 클라이언트와 서버간의 연결을 계속 유지할 것인지 끊을 것인지 알려주는 정보
        • HTTP 요청 때마다 네트워크 연결을 새로 만드는 건 번거롭기 때문에 요청이 계속되는 한 처음 연결을 재사용하는 것이 바람직하다.
        • keep-alive : 네트워크 연결을 유지해라
        • close: 더 이상 요청을 보내지 않으니 연결을 닫아라
      • Content-Type : HTTP 요청이 보내지는 body 타입 (ex. application/json
      • Content-Length : body 내용의 길이

3. Body

  • HTTP 요청이 전송하는 데이터를 담고 있는 부분
  • 전송하는 데이터가 없다면 body 부분은 비어있다.

Response(응답) 메세지 구조

이 메세지 또한 세 부분으로 구성되어있다.

1. Status Line

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

1) HTTP Version : 요청의 HTTP 버전과 동일
2) Status Code : 응답 메세지의 상태 코드
3) Status Text : 응답 메세지의 상태를 간략하게 설명 해주는 텍스트

ex) 
HTTP/1.1 404 Not Found
해석 : HTTP 1.1 버전으로 응답하고 있는데, 요청(ex.로그인시도)에 대해서 유저의 정보를 찾을수 없기 때문에(Not Found) 404 상태 메세지를 보낸다.

HTTP/1.1 200 SUCCESS
해석 : HTTP 1.1 버전으로 응답하고 있는데, 요청에 대해서 성공했기 때문에 200 상태 메세지를 보낸다.

2. Headers

  • HTTP 요청 메세지의 헤더와 동일
  • 단 User-Agent 헤더 대신 Sever 헤더가 사용된다.

3. Body

  • HTTP 요청의 body와 동일

  • 전송하는 데이터가 없으면 비어 있다.


📚 Reference

profile
기억보단 기록을📓

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN