##본 포스팅은 '그림으로 배우는 Http & Network Basic - 우에노 센'을 읽고 쓴 요약/정리 글입니다.
웹 페이지의 대부분은 HTML로 되어있다
HTML(HyperText Markup Language)는 웹 상에서 하이퍼텍스트를 보내기 위해서 개발된 언어이다.
HyperText : 문서 시스템의 하나로, 문서 중에 임의의 장소의 정보가 다른 정보에 관련되어있는 문서
마크업 언커 : 문서의 일부에 특별한 문자열을 붙임으로써 문서를 수식하는 언어(HTML에서는 이 문자열을 HTML 태그라고 부름)
평상시 우리가 보고 있는 웹 페이지의 대부분은 HTML이 사용되고 있다.
HTML로 쓰여진 문서를 브라우저가 해석해서 "렌더링"처리를 한 결과가 웹 페이지에 표시된다.
HTML5는 브라우저 간의 호환성 문제를 해결하거나 텍스트를 데이터로서 다룰 수 있도록 하여 재사용하기 쉽게 하거나 애니메이션 등의 효과를 충실히 하는 것이 사양에 포함된다.
브라우저에 따라 HTML 사양에 따르지 않은 것이나 독자적인 태그를 확장하고 있는 것도 있어 사실상 HTML 규격은 아직도 통일되어있지 않은 상태이다.
디자인을 적용하는 CSS
CSS(Cascading Style Sheets)는 HTML 각 요소를 어떻게 표시할지를 지시하는 것으로, 스타일 시트라고 불리는 사양 중의 하나이다.
CSS는 문서의 구조와 디자인을 분리한다는 이념에서 만들어졌다.
웹 페이지를 동적으로 변경하는 다이나믹 HTML
다이나믹 HTML은 정적인 HTML 내용을 JS와 같은 클라이언트 사이드 스크립트를 사용해서 동적으로 변경하는 기술을 말한다.
동적으로 바꾸고 싶은 HTML 요소를 지장하기 위해서 DOM이라는 구조를 사용한다.
DOM(Document Object Model)은 HTML 문서와 XML 문서를 위한 API(Application Programming Interface)입니다. DOM을 사용하면 HTML 내의 요소를 오브젝트로 다룰 수 있기 떄문에 요소내의 문자열을 추출하거나 CSS를 프로퍼티로서 변경해 디자인을 변경할 수 있다.
웹 애플리케이션
웹 애플리케이션은 웹 기능을 사용해서 제공되는 프로그램을 지칭한다.
이러한 프로그램에 의해서 생성된 콘텐츠를 동적 콘텐츠, 사전에 준비된 콘텐츠는 정적 콘텐츠라 부르고 있다.
웹 애플리케이션은 '동적 콘텐츠'에 해당된다.
1. CGI
웹 서버와 프로그램을 연계하는 CGI(Common Gateway Interface)는 웹 서버가 클라이언트에서 받은 리퀘스트를 프로그램에 전달하기 위한 구조이다.
CGI에 의해 프로그램은 리퀘스트 내용에 맞게 HTML을 생성하는 등으로 동적으로 콘텐츠를 생성할 수 있다.
GCI를 사용한 프로그램을 CGI 프로그램이라고 부르는데,
Perl, PHP, Ruby, C언어 등의 프로그래밍 언어가 사용되고 있다.
2. Servlet
서블릿은 서버 상에 HTML 등의 동적 콘텐츠를 생성하기 위한 프로그램을 가리킨다.
CGI는 리퀘스트마다 프로그램을 기동하기 때문에 대량으로 액세스가 있을 때 웹 서버에 부하가 걸리게 되지만, 서블릿에서는 웹 서버와 같은 프로세스 속에서 동작하기 때문에 비교적 부하를 적게 하여 동작시킬 수 있다.
데이터 송신에 이용되는 포맷이나 언어
범용적으로 사용할 수 있는 마크업 언어 XML(eXtensible Markup Language)이라는 것은 목적에 맞게 확장 가능한 범용적으로 사용할 수 있는 마크업 언어이다.
XML은 데이터 공유를 용이하게 하는 것을 목적으로 한다.
XML은 트리구조로 되어있고 독자적으로 확장된 태그가 정의되어있기에 HTML에 비해 데이터를 기술하는 것에 특화되어있다.