Chapter 16 - 국제화

📌 읽으면서 밑줄친 내용 그대로 옮겨 적음. *이 붙은 문장은 생각.
  • HTTP에서 엔터티 본문이란 그저 비트들로 가득 찬 상자에 불과하다.
  • 클라이언트는 서버에게 자신이 어떤 차셋 인코딩 알고리즘들과 언어들을 이해하며 그중 무엇을 선호하는지 말해주기 위해 Accept-Charset과 Accept-Language 헤더를 보낸다.
      Accept-Language: fr, en; q=0.8
      Accept-Charset: iso-8859-1, utf-8
    
  • HTTP 차셋 값은, 어떻게 엔터티 콘텐츠 비트들을 특정 문자 체계의 글자들로 바꾸는지 말해준다.
  • 각 차셋 태그는 비트들을 글자들로 변환하거나 혹은 그 반대의 일을 해주는 알고리즘을 명명한다.
    • 차셋 태그는 등록된 MIME 문자집합에 표준화되어 있고, LANA가 관리한다.
  • 국제화된 문자 시스템의 핵심 목표는 표현(시각적인 표현 방식)에서 의미(글자들)를 분리하는 것이다.
  • 웹 서버는 클라이언트에게 MIME 차셋 태그를 charset 매개변수와 함께 Content-Type 헤더에 담아 보낸다.
    • Content-Type: text/html; charset=iso-2022-jp
  • 전자 문자 체계 용어
    • 문자
      • 알파벳 글자, 숫자, 구두점, 표의문자(중국어에서와 같은), 기호 등 글쓰기의 최소 단위.
    • 글리프(glyph)
      • 하나의 글자를 표현하기 위한, 획의 패턴이나 다른 것과 구분되는 유일한 시각적 형태.
      • 하나의 글자를 여러 방식으로 쓰는 것이 가능하다면 글리프를 여러 개 가질 수도 있다.
    • 코딩된 문자(coded character)
      • 우리가 글자를 다룰 수 있도록 각 글자에 할당된 유일한 숫자
    • 코드 공간(coding space)
      • 문자 코드 값으로 사용하려고 계획해 둔 정수의 범위
    • 코드 너비(code width)
      • 각 문자 코드의 (고정된 크기의) 비트 개수
    • 사용 가능 문자집합(character repertoire)
      • 글자들에 대한 특정한 작업 집합(세상에 존재하는 모든 글자의 부분집합)
    • 코딩된 문자집합(coded character set)
      • 사용 가능 문자집합(세상의 모든 글자에서 일부분을 선택한 것)을 받아서 각 글자에 코드 공간의 코드를 할당해주는 코딩된 문자들의 집합. 다시 말하면, 실제 글자들에 숫자로 된 문자 코드를 대응시킨 것
    • 문자 인코딩 구조
      • 숫자로 된 문자 코드들을 콘텐츠 비트의 연속으로 인코딩하는(그리고 원래대로 디코딩하는) 알고리즘.
  • 언어 태그는 언어에 이름을 붙이기 위한 짧고 표준화된 문자열이다.
  • Content-Length 엔터티 헤더 필드는 엔터티가 어떤 언어 사용자를 대상으로 하고 있는지 서술한다.
  • 모든 태그는 대소문자가 구분되지 않는다.
  • 그러나 관용적으로 언어를 나타낼 때는 소문자를 사용하고, 국가를 나타낼 때는 대문자를 사용한다.
  • 이스케이프는 퍼센트 글자(%) 하나와 뒤이은 16진수 글자 둘로 이루어진 세 글자 문자열이다.
  • 애플리케이션은 어떤 URI도 결코 두 번 언이스케이핑 되지 않도록 해야 한다.

알게된 점

  • 언어 태그 표기법
    • ko-KR, en-US 작성할 때 항상 헷갈렸는데 이참에 알아갑니다.
  • 국제화 챕터 전부!
    • 문자와 글리프를 별개로 나눈 것이 흥미로웠습니다..

관련해서 같이 이야기 나누고 싶은 점

  • 문자 인코딩 구조에서 가변폭(비모달)과 가변폭(모달)의 차이를 설명만 읽어서는 잘 모르겠네요..