Julie의 Tech 블로그

HTTP - (10) 국제화 본문

Tech

HTTP - (10) 국제화

Julie's tech 2021. 6. 21. 23:50
728x90

HTTP 메시지는 어떤 언어로 된 콘텐츠이든 담을 수 있다. 결국 다 비트로 변환된 바이너리 콘텐츠가 될 뿐이다.

서버는 클라이언트에게 이러한 국제적인 콘텐츠를 처리할 수 있도록 문서를 올바르게 풀어낼 언어를 알려준다.

이 때 클라이언트는 서버에게 어떤 언어를 이해하고 있고, 브라우저가 어떻게 지원하는지를 알려줄 필요가 있다.

Accept-Charset과 Accept-Language헤더가 바로 이 역할을 한다.

문자로 된 콘텐츠를 어떻게 인코딩하고 디코딩할까?

우선 문서를 이루는 데이터 비트들이 문자 코드로 인코딩된다.

그 후 글꼴과 포맷팅 소프트웨어를 통해 화면에 뿌릴 글자 모양을 찾아 디코딩하게 된다.

이 때 charset매개변수(=인코딩 구조)를 잘 사용해야 언어를 올바르게 해석할 수 있다.

225라는 숫자에 대해 iso-8859-1(서유럽), iso-8859-6(아랍)가 각기 풀어내는 문자가 다르기 때문이다.

웹서버는 클라이언트에게 MIME charset 테그와 매개변수를 Content-Type에 담아 보낸다.

< Content Type : text/html; charset=iso-2022-jp >

클라이언트는 웹 서버에게 지원 가능한 문자 코딩과 매핑 시스템을 Accept-Charset 헤더를 통해 알려준다.

Coded Character Set, 코딩된 문자 집합은 정수 값을 문자로 대응하는 매핑 알고리즘이다.

대표적인 US-ASCII(아스키)는 모든 문자집합을 다루고 있고, 0-127까지 코드값만을 사용한다.

iso-8859 문자집합은 US-ASCII의 확대 버전인데, 각 지역에 따라 customize된 문자집합을 제공한다.

ex. iso-8859-1(서유럽), iso-8859-2(중앙 및 동유럽), iso-8859-6(아랍어) 등

인코딩 구조는 두 개로 나눌 수 있다.

하나는 고정폭이고, 다른 하나는 가변폭이다.

고정폭은 빠르게 매핑하여 문자로 변환할 수 있지만, 공간을 낭비할 수 있다는 단점이 있다.

가변폭은 다른 문자 코드 번호별 다른 길이의 비트를 적용할 수 있게 하는 것이다.

일반적으로 8비트 고정폭 인코딩을 지원하는데, 대표적인 인코딩이 UTF-8이다.

UTF-8은 가변길이 인코딩을 사용하는데,

첫 바이트는 인코딩된 문자의 길이를 바이트 단위로 나타내고, 그 이후는 6비트 코드 값을 담는다.

Content-Language 헤더는 엔터티가 어떤 사용자를 대상으로 하고 있는지 나타낸다.

만약 한국 사람을 대상으로 할 경우, Content-Language : ko 로 포함될 수 있다.

클라이언트가 어떤 언어를 이해할 수 있는지에 대해 보내는 헤더는 Accept-Language이다.

이 때 언어 태그는 하나 이상의 서브 태그로 구성될 수 있다.

첫 번째 서브태그는 주 서브태그로, 표준화 되어 있는 값이다 (fr, es, ko 등)

두 번째 서브태그는 선택적이며, 직접 지을 수 있다.

세 번째 서브태그는 등록되어 있지 않으나 방언 혹은 지방어를 나타낼 때 사용된다.

ex) sgn-US-MA 미국의 특정 섬 내 수화

여기서 태그는 대소문자를 가리지 않는다.


참고도서

https://book.naver.com/bookdb/book_detail.nhn?bid=8509980

 

HTTP 완벽 가이드

성공적인 웹 트랜잭션 뒤의 숨은 핵심, HTTP의 모든 것『HTTP 완벽 가이드』는 HTTP 규약이 어떻게 작동하고 웹 기반 애플리케이션을 개발하는 데 어떻게 사용하는지 설명하고, HTTP가 효율적으로 동작하도록 함께 사용하는 다른 핵심 인터넷 기술에 대해서 소개한 책이다. 책에서는 HTTP 메서드, 헤더, 상태 코드, 프락시와 캐시의 최적화, 웹 로봇과 크롤러 설계 전략, 쿠키, 인증, 보안 HTTP, 국제화와 내용 협상, 리다이렉션과 부하 균형 전략, 더 좋은 성능의 HTTP, HTTP/2.0에 대해서 다루고 있다. 또한, 10...

book.naver.com

 

반응형

'Tech' 카테고리의 다른 글

HTTP - (12) 웹 호스팅  (0) 2021.07.04
HTTP - (11) 내용 협상과 트랜스코딩  (0) 2021.07.04
HTTP - (9) 메시지 엔터티와 인코딩  (0) 2021.06.21
HTTP - 인증 : Oauth, JWT, Bearer token  (0) 2021.06.14
HTTP - (8) HTTPS, 보안  (0) 2021.06.14