티스토리 뷰

HTTP

HTTP 헤더1

0307kjb 2022. 7. 16. 17:23

HTTP 헤더 표준(RFC723x)

  • 메시지 본문을 통해 표현 데이터 전달
  • 메시지 본문 = 페이로드
  • 표현 = 표현 헤더 + 표현 데이터
    • 표현은 요청이나 응답에서 전달할 실제 데이터
    • 표현 헤더는 표현 데이터를 해석할 수 있는 정보 제공
      • 데이터 유형, 데이터 길이, 압축 정보 등등
  • 참고 : 표현 헤더는 표현 메타데이터와 페이로드 메시지를 구분해야 하지만 여기선 생략!

표현

  • Content-Type : 표현 데이터의 형식
  • Content-Encoding : 표현 데이터의 압축 방식
    • 데이터를 읽는 쪽에서 인코딩 헤더의 정보로 압축 해제
  • Content-Language : 표현 데이터의 자연 언어
  • Content-Length : 표현 데이터의 길이 (페이로드 헤더)
  • 표현 헤더는 전송, 응답 둘다 사용

협상(콘텐츠 네고시에이션)

클라이언트가 선호하는 표현 요청

  • Aceept : 클라이언트가 선호나는 미디어 타입 전달
  • Aceept-Charset : 클라이언트가 선호하는 문자 인코딩
  • Aceept-Encoding : 클라이언트가 선호하는 압축 인코딩
  • Aceept-Language : 클라이언트가 선호하는 자연 언어
  • 협상 헤더는 요청시에만 사용

협상과 우선순위1

Accept-Language:ko-KR;q=1(생략),ko;q=0.9,en-US;q=0.8 ....

퀄리티(q)를 통해 우선순위를 정한다.

협상과 우선순위2

구체적인 것을 우선한다.

Aceept:text/*, text/plain(우선!)

전송 방식

  • 단순 전송
    • Content-Length
  • 압축 전송
    • Content-Encoding
  • 분할 전송
    • Transfer-Encoding:Chunked
    • 덩어리로 쪼개서 보냄
    • 이 때 Content-Length를 보내면 안됨 (덩어리마다 길이가 다르기 때문)
  • 범위 전송
    • 범위 지정하여 재요청(데이터 중복과 시간 문제 방지)

일반 헤더 정보

  • From
    • 유저 에이전트의 이메일 정보
    • 일반적 사용 x
  • Referer
    • 현재 요청된 페이지의 이전 웹 페이지 주소
    • 유입 경로 분석 가능
    • 요청에서 사용
    • 많이 쓰임
  • User Agent
    • 클라이언트 애플리케이션 정보
    • 서버에서 특정 브라우저 버그 생길 때 로그를 파싱해보면 알 수 있다.
    • 통계 정보
    • 요청에서 사용
  • Server
    • 요청을 처리하는 ORIGIN(요청을 실제로 받는 서버)의 소프트웨어 정보
  • Date
    • 응답에서만 사용

특별한 정보 헤더

  • Host
    • 요청에서 사용
    • 필수로서 매우 중요
    • 하나의 서버가 여러 도메인을 처리해야 할 때
    • 하나의 IP 주소에여러 도메인이 적용되어 있을 때
  • Location
    • 페이지 리다이렉션
    • Location 위치로 자동 이동
  • Allow
    • 허용 가능한 HTTP 메서드
  • Retry-After
    • 유저 에이전트가 다음 요청을 하기까지 기다려야 하는 시간
    • 503 서버 이용 불가능(은행 점검 시간)

'HTTP' 카테고리의 다른 글

검증 헤더와 조건부 요청1  (0) 2022.09.18
쿠키  (0) 2022.07.16
HTTP 상태 코드  (0) 2022.07.16
HTTP 메서드 활용  (0) 2022.06.26
HTTP 속성  (0) 2022.06.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함