네트워크와 CS

23일차 개발일지 HTTP 구조와 핵심 요소 #2

Sophie소피 2021. 11. 3. 09:03

HTTP Response 구조

about Status Line

Response의 상태를 간략하게 나타내주는 부분.
3부분으로 구성되어 있다.

  • HTTP 버젼
  • Status code: 응답 상태를 나타내는 코드. 숫자로 되어 있는 코드.
    예를 들어, 200
  • Status text: 응답 상태를 간략하게 설명해주는 부분.
    예를 들어, "Not Found"

about  Headers

  • Response의 headers와 동일
  • 다만 response에서만 사용되는 header 값이 있음 
  • 예를 들어, User-Agent 대신에 Server 헤더가 사용된다.

about Body

  • Response의 body와 일반적으로 동일
  • Request와 마찬가지로 모든 response가 body가 있지는 않다. 데이터를 전송할 필요가 없을경우 body가 비어있게 된다.

 

HTTP Methods

OPTIONS

  • 주로 요청 URI에서 사용할 수 있는 Method를 받아올때 사용
  • 예를 들어, /update uri에서 어떤 method를 요청 가능한가(GET? POST?)를 알고 싶으면 먼저 OPTIONS 요청을 사용해서 확인
http -v OPTIONS http://example.org

OPTIONS / HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 0
Host: example.org
User-Agent: HTTPie/0.9.3

HTTP/1.1 200 OK
Allow: OPTIONS, GET, HEAD, POST
Cache-Control: max-age=604800
Content-Length: 0
Date: Mon, 20 Aug 2018 08:37:45 GMT
Expires: Mon, 27 Aug 2018 08:37:45 GMT
Server: EOS (vny006/0450)

 

PUT

  • POST와 비슷하다. 데이터를 생성 할때 사용되는 Method.
  • POST와 겹치기 때문에 PUT을 사용하는 곳도 있고 POST로 통일해서 사용하는 곳도 있는데, 최근 몇년 사이에 POST에 밀려서 잘 사용안되는 추세.

DELETE

  • 특정 데이터를 서버에서 삭제 요청을 보낼때 쓰이는 Method
  • PUT과 마찬가지로 POST에 밀려서 잘 사용안되는 추세.

참고 https://velog.io/@ttwkr/HTTP-method