HTTP TIL 08

Nabang Kim·2021년 9월 14일
0

HTTP

목록 보기
8/13
post-thumbnail

2021년 9월 13일에 작성된 문서 3번 입니다.
http 배운 내용을 정리했습니다.



표현 헤더(Representation Headers)

HTTP 헤더와 바디

  • HTTP 메시지는 헤더와 바디로 구분.
    • HTTP 바디: 메시지 본문을 통해서 표현 데이터를 전달.
      • 페이로드(Payload) : 데이터를 실어 나르는 부분
      • 표현: 요청이나 응답에서 전달할 실제 데이터
      • 표현 헤더: 표현 데이터를 해석할 수 있는 정보를 제공.



1. HTTP 헤더

  • 헤더 형식 : <field-name> : <field-value>
    • <field-name>은 대소문자 구분은 없음.


  • HTTP 헤더는 HTTP 전송에 필요한 모든 부가정보를 담기 위해 사용.



2. 표현 헤더

  • 표현 데이터의 형식, 압축 방식, 자연 언어, 길이등을 설명하는 헤더
  • 표현헤더는 요청, 응답 둘 다 사용

구성설명
Content-Type표현 데이터의 형식
Content-Encoding표현 데이터의 압축 형식
Content-Language표현 데이터의 자연 언어
Content-Length표현 데이터의 길이



2-1. Content-Type

표현 데이터의 형식 설명

  • 미디어 타입, 문자 인코딩
    • Text/html: charset = utf-8
    • application/json
    • Image/png

2-2. Content-Encoding

표현 데이터의 인코딩

  • 표현 데이터를 압축하기 위해 사용
  • 데이터를 전달하는 곳에서 압축 후 인코딩 헤더 추가
  • 데이터를 읽는 곳에서 인코딩 헤더의 정보로 압축 해제
    • gzip
    • deflate
    • identitiy

2-3. Content-Language

표현 데이터의 자연 언어

  • 표현 데이터의 자연 언어를 표현
    • ko
    • en
    • en-US

2-4. Content-Length

표현 데이터의 길이

  • 바이트 단위
  • Transfer-Encoding(전송 코딩)을 사용하면 Content-Length를 사용하면 안됨.
    • Transfer-Encoding: 전송 시 어떤 인코딩 방법을 사용할 건지 명시

      그러나 현재는 Transfer-Encoding 보다는 Content-Encoding을 사용하며, Transfer-Encoding을 사용하는 경우 chunked의 방식으로 사용합니다. chunked 방식의 인코딩은 많은 양의 데이터를 분할하여 보내기 때문에 전체 데이터의 크기를 알 수 없기 때문에 표현 데이터의 길이를 명시해야하는 Content-Length 헤더와 함께 사용할 수 없습니다.






Written with StackEdit.

0개의 댓글

관련 채용 정보