HTTP

강윤경·2022년 7월 27일
0

Network

목록 보기
3/17

HTTP란?


  • HTTP : HyperText Transfer Protocol
  • 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜

HTTP 동작


  • 클라이언트가 브라우저를 통해서 어떠한 서비스를 url을 통해서 request 시 서버는 해당 request에 맞는 결과를 찾아서 사용자에게 응답

HTTP 특징


  • HTTP 메시지는 HTTP 서버와 HTTP 클라이언트에 의해 해석
  • TCP/IP를 이용하는 응용 프로토콜
  • 비연결성 프로토콜
  • HTTP는 연결을 유지하지 않는 프로토콜이기 때문에 response/request 방식으로 동작

Request Method


  • GET : 리소스를 검색하고, 반환받기 위해 사용되는 메소드, 원하는 정보를 서버에 요청할 때 쓰인다.
  • POST : 요청된 자원을 생성하기 위해 사용되는 메소드, POST로 정보를 전송하면 URL에 Parameter가 나타나지 않으므로 각종 데이터를 전송하는데 쓰인다.
  • PUT : 요청된 자원을 위해 사용되는 메소드
  • DELETE : 요청한 자원을 삭제하기 위해 사용되는 메소드

HTTP Request 구조


  • HTTP request 메세지는 크게 3부분으로 구성
    • start line
    • headers
    • body

Start Line

  • 3부분으로 구성
예시 ) GET/main HTTP/1.1
  1. GET : HTTP Method
  2. /main : Request target
  3. 1.1 : HTTP Version

Headers

  • 해당 request에 대한 추가 정보(addtional information)를 담고 있는 부분
  • Key : Value 값
    • [Key : Value]
    • “host” : “localhost:3000”
  • 크게 3부분으로 구성
    1. general headers
    2. request headers
    3. entity headers
  • header 정보
    1. Host : 요청이 전송되는 target의 host url
    2. User-Agent : 요청을 보내는 클라이언트에 대한 정보
    3. Accept : 해당 요청이 받을 수 있는 response type
    4. Connection : 해당 요청이 끝난 후에 클라이언트와 서버가 계속해서 네트워크 connection을 유지할 것인지 아니면 종료할 것인지에 대해 지시하는 부분 (ex. keep-alive)
    5. Content-Type : 해당 요청이 보내는 메세지 body type
    6. Content-Length : 메세지 body의 길이

Body

  • 해당 request의 실제 메세지

HTTP Response 구조


  • 3부분으로 구성
    • Status line
    • Headers
    • Body

Status Line

  • Response의 상태를 간략하게 나타내주는 부분
  • 3부분으로 구성
    1. HTTP Version

    2. Status Code : response 상태를 나타내는 숫자로 작성된 코드

    3. Status text : response 상태를 간략하게 설명하는 부분

      HTTP/1.1 404 Not Found

Headers

  • Response의 headers와 동일
  • Response에서만 사용되는 header 값들이 존재 ex) User-Agent 대신 Server 헤더 사용

Body

  • Response의 body와 동일
  • Request와 마찬가치로 모든 response가 body가 존재하지는 않음

0개의 댓글