Coding Planet

HTTP Reponse/Request 구조 - start line, headers, body 본문

CS

HTTP Reponse/Request 구조 - start line, headers, body

jhj.sharon 2024. 1. 2. 11:01
반응형

 

 

HTTP(하이퍼텍스트 전송 프로토콜) 요청 클라이언트에서 웹 서버로 보내는 메시지로, 웹 리소스를 요청하거나 서버에 동작을 요청하는 데 사용된다. HTTP 요청은 일반적으로 다음과 같은 구조를 가지고 있다.

 

 

 

1. Start Line(Status Line)

 Start Line은 HTTP method, Request target, HTTP vesion으로 구성되어 있다.

  • HTTP method: HTTP 요청에만 존재한다(응답에는 없음!) 요청하는 동작 또는 메서드를 나타내는데 클라이언트가 서버에게 어떤 동작을 수행해야하는지를 지정한다. 주요 HTTP 메서드로는 GET, POST, PUT, DELETE 등이 있으며, 각각의 메서드는 다른 동작을 수행한다. 예를 들어, GET 메서드는 리소스를 조회하는 데 사용되고, POST 메서드는 새로운 리소스를 생성하는데 사용된다.
  • Request target : HTTP 요청에만 존재한다(응답에는 없음!) . 요청하는 리소스의 경로 또는 URI(Uniform Resource Identifier)를 나타낸다(엔드 포인트). 요청 대상은 클라이언트가 원하는 리소스를 식별하는 데 사용된다. 예를 들어, /index.html 또는 /api/users/123와 같은 경로
  • HTTP  Version : HTTP 요청과 응답에 모두 존재한다. 사용되는 HTTP 프로토콜의 버전을 나타내는데, 버전은 "HTTP/1.1" 또는 "HTTP/2"와 같이 표현한다. 
  • 따라서 위의 예시는 클라이언트가 서버에게 "/HANAP1/" 리소스를 요청하는 POST요청을 나타낸다.

 

2. headers

headers는 요청에 대한 추가정보를 포함하고 있다. 이 정보등은 Key:Value 형식으로 구성되되 있다. 일반적인 헤더는 다음과 같이 구성된다.

  • Host: 요청하는 호스트 이름 또는 IP 주소와 포트번호
  • User-Agent: 클라이언트 애플리케이션 정보. 이 정보를 통해 서버는 클라리언트 프로그램(브라우저)에 맞는 최적의 데이터를 보내줄 수 있다
  • Accept: 클라이언트가 지원하는 미디어 타입.
  • Content-Type: 요청 본문의 미디어 타입 (POST 또는 PUT 요청에서).

 

3. Body(본문)

HTTP Request가 전송하는 데이터를 담고있는 부분인데 전송하는 데이터가 없다면 비어있다. post 요청일 경우 HTML 폼 데이터가 포함되어 있다. headers와 body 사이에는 빈 줄이 있어서 두 영역을 구별한다.

반응형
Comments