0%

http2

HTTP 메세지, 메시지 바디?

  • 요청하는 측(클라이언트)에서 보내는 HTTP 메세지를 "Request message", 요청을 받는 측에서 보내는 메세지를 "Response message"라고 한다
  • HTTP 메세지는 "메세지 헤더"와 "메세지 바디"로 구성되어 있다.
  • Message Header
    • 리퀘스트 라인 : 리퀘스트 메시지에서 사용하는 method, URI, HTTP 버전 등을 포함
    • 상태 라인 : 리퀘스트 라인과 상응하는 개념으로, 상태코드 (200, 404등)과 설명, HTTP 버전을 포함
    • 헤더 필드 : 여러 조건과 속성 등을 나타내는 헤더필드가 포함된다. 리퀘스트와 리스폰스에 공존하는 일반헤더필드, 리스폰스헤더필드가 있고 각각 리퀘스트헤더필드, 엔티티헤더필드 총 4종류의 헤더필드가 있다.
  • Message Body
    • 전달하고자 하는 실제 내용
  • 흔히, "HTTP 메세지"를 인터넷 운송 시스템의 "컨테이너" 라고 생각하고, "HTTP 엔티티"는 이에 담기는 "화물"이라고 칭하기도 한다.

HTTP 엔티티?, 엔티티 바디?

HTTP에서 인코딩은?

  • 통신을 할떄 데이터를 그대로 보내기 보다, 변환, 압축, 분할등의 과정을 거쳐 효율을 높이는게 유리하다.
  • HTTP 통신역시 인코딩을 통해 효율을 높일수 있다. 단, 인코딩 처리를 위한 CPU등의 리소스를 더 소비하게 된다.

멀티파트

  • 복수의 파일(이미지, 음성 등)을 첨부타일을 붙여서 함께 보낼수 있다.
  • 각 파트마다 해더를 포함하고,

레인지리퀘스트

  • 대용량 데이터를 전송할때 중단하게 되면 처음부터 받아야 하는 문제가 발생했고, 이를 해결하기 위해 고안되었다.
  • 엔티티의 범위를 지정해서 호출을 한다.

콘텐츠 네고시에이션

  • 클라이언트와 서버가 리소스 내용에 대해 교섭하는것, 같은 URI에 접근해 다른 언어 등을 표시하려 할때, 이를 사용한다.
  1. 서버 구동형 네고시에이션 : 서버 측에서 리퀘스트 헤더 필드의 정보를 참고해서 자동적으로 처리
  2. 에이전트 구동형 네고시에이션 : 클라리언트 측에서 콘텐츠 네고시에이션을 하는 구조. 유저가 수동으로 선택한다.
  3. 트랜스페이런트 네고시에이션 : 서버와 클라이언트가 각각 콘텐츠 네고시에이션을 하는 방식

인코딩 전송?

Reference

https://velog.io/@ljinsk3/03.-HTTP-%EC%A0%95%EB%B3%B4%EB%8A%94-HTTP-%EB%A9%94%EC%8B%9C%EC%A7%80%EC%97%90-%EC%9E%88%EB%8B%A4

https://velog.io/@akh9804/HTTP-%EC%99%84%EB%B2%BD-%EA%B0%80%EC%9D%B4%EB%93%9C-15-%EC%97%94%ED%84%B0%ED%8B%B0%EC%99%80-%EC%9D%B8%EC%BD%94%EB%94%A9

https://ideveloper2.dev/blog/2020-01-04--%EC%97%94%ED%84%B0%ED%8B%B0%EC%99%80-%EC%9D%B8%EC%BD%94%EB%94%A9/

https://web-km.tistory.com/24

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=eqelizer&logNo=20134264633

https://sleepyeyes.tistory.com/25

https://kthan.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-Http-%EC%9D%B8%EC%BD%94%EB%94%A9encoding-Hex-FirstNibble-U-UTF-8-%EB%93%B1%EB%93%B1