Markup Language
- 태그 등을 이용하여 문서나 데이터의 구조를 명기하는 언어의 한 가지
- 태그
- 원래 텍스트와는 별도로 원고의 교정부호 및 주석을 표현하기 위한 것이었으나 용도가 점차 확장되어 문서의 구조를 표현하는 역할을 하게 됨
- 문서의 골격에 해당하는 부분을 작성
- 일반적으로는 데이터를 기술하는 정도로만 사용되기 때문에 프로그래밍 언어와는 구분됨
마크업 언어 구분
- 프리젠테이션 마크업(Presentational markup)
- 전통적인 워드 프로세싱 시스템에서 사용되는 마크업의 종류
- WYSIWYG(“what you see it what you get”) 효과를 생성하는 문서 텍스트 내에 포함된 바이너리 코드
- 사용자들이 아래 절차적/기술적 마크업을 사용하면, 사용자에게 “현재(WYSIWYG)” 상태로 변환한다.
- 절차적 마크업(Procedural markup)
- 잘 알려진 예) troff, TeX, PostScript
- 텍스트에 포함되며, 텍스트는 프로그램을 통해 텍스트를 처리하기 위한 지침을 제공
- 프로세서는 마주친 지침에 따라 처음부터 텍스트를 통해 실행 될 것으로 예상
- 기술적 마크업(Descriptive markup)
- 잘 알려진 예) LateX, HTML, XML
- 문서의 일부에 라벨을 붙이는 데 사용
- 문서의 고유한 구조를 어떤 특정한 처리나 변경으로부터 분리
- 예) HTML의 태그
- 시각적으로가 아닌 개념적으로 자료를 설명하는 방식으로 쓰도록 권장
- 경량화 마크업(lightweight markup)
- 예) 위키피디아에서 사용하는 위키 마크업
- 최근 웹 브라우저를 통해 형식화된 텍스트를 작성할 수 있도록 개발된 작고 표준화되지 않은 다수의 마크업
· SGML
· 문서용 마크업 언어를 정의하기 위한 메타 언어
- 복잡하고 다양한 자료를 텍스트 기반 자료 구조로 표현할 수 있는 매우 강력한 언어
· JSP, HTML, XML 등에서 사용하는 <!-- --> 주석의 유래
· IBM에서 1960년대에 개발한 GML(Generalized Markup Language)의 후속으로, 1986년 표준으로 확정(ISO8879)
· 정부나 항공우주 기업의 대규모 계획 사업 과정에서 기계 판독형(machine-readable) 문서를 공유할 목적으로,
몇 십 년 이상의 기간 동안 판독 가능하도록 설계
· 인쇄와 출판 산업에 광범위하게 사용되었지만, 너무 복잡하여 소규모 범용 목적으로 사용하는데는 걸림될이 됨(웹 브라우저 등에 적용이 어려움)
· 파일 확장자: .sgml

· XML은 SGML에서 파생된 언어
- XML은 SGML의 특수한 부분집합으로 SGML에 비해 해석과 처리를 단순화하기 위해 설계함
- XML은 범용 목적의 응용을 위해 SGML을 단순화하려는 시도임
- 구조적인 자료를 가지고 있는 문서를 위한 마크업 언어
- 구조적인 자료: 내용과 더불어 각각의 내용이 가지는 의미와 역할이 정해진 규칙에 따라 표현되어 있는 자료
- XML은 XHTML, RSS, XMl -RPC, SOAP 등 여러 방면에서 응용 중
· HTML은 SGML과 별도로 설계되었지만, 2.0 버전에서 SGML 기반으로 재정의 됨
- 웹 브라우저에서 내용이 어떻게 보여질 것인가를 지정하지 위한 태그
- HTML에서 사용 가능한 태그는 고정 집합으로, 사용자가 자신의 태그를 추가할 수 없음
- XML은 고정된 태그 집합이 아니며, 마크업 언어를 정의하기 위한 메타 언어임

균일 자원 위치 지정자(URL, Uniform Resource Locator)
URL의 구조

1. Protocol(Scheme)

- http(Hyper Text Transfer Protocol)는 프로토콜(규약)이다.
URL의 첫 파트이자 웹에서 서버와 클라이언트간에 어떤 방법으로 자원을 접근할지 알려준다. - 요즘은 https를 기본 프로토콜로 쓰는데, http에 보안이 강화된 버전이다.
- 브라우저에서 가장 많이 사용되는 https/http외에도 mailto: (이메일 주소를 지정하는 프로토콜), ftp: (파일을 주고받는 프로토콜) 등 다양한 프로토콜이 존재한다.
2. Domain Name

- 도메인 네임은 URL에서 웹서버의 위치를 지정한다.
- 직접 IP 주소(ex. 127.0.0.1)를 사용하는 것도 가능하다.
3. Port

- 웹서버에서 자원을 접근하기 위해 사용하는 관문.
- 표준 HTTP 포트는 80번 HTTPS는 443이다. 표준 포트를 사용한다면 포트번호는 보통 생략한다.
4. Path

- 웹서버에서 자원에 대한 경로
- 초기의 웹에서는 웹서버상에서 물리적 파일 위치를 나타넸지만, 지금은 실제 물리적 경로를 나타내지 않고, 웹 서버에서 추상화하여 보여준다.
- 루트 자원을 나타내려면 “/”을 사용한다.
5. Query Parameters

- & 기호로 구분된 키/값으로 짝을 이룬 리스트
- 키와 값은 =문자로 구분한다.
6. Fragment identifier(Anchor)

- 세부항목에 대한 책갈피 역할
- ex. 특정 스크롤 위치로 이동(목차 등)
- 요청이 서버에 보내지지 않는다.
'항해99' 카테고리의 다른 글
| [TIL]항해 45일, 그동안의 기록(1) (0) | 2022.02.24 |
|---|---|
| [WIL] 6주차 항해 회고록 (0) | 2022.02.20 |
| [TIL]항해 40일! (0) | 2022.02.18 |
| [WIL] 5주차 항해 회고록, [TIL]항해 34일! 그리고 TIL 5일차! (0) | 2022.02.13 |
| [Computer Science] 7장 데이터 구조와 처리 (0) | 2022.02.13 |