낭만개발자
낭만개발 낭개
낭만개발자
전체 방문자
오늘
어제
  • 분류 전체보기 (55)
    • Web) HTML & CSS (5)
    • Web) HTTP (2)
    • 언어) Java (2)
    • 언어) Python (6)
    • 언어) PHP (1)
    • Linux (2)
    • 데이터 관리) Pandas (4)
    • Algorithms (13)
    • 개발자 역량 (4)
    • 프로젝트 (11)
      • Django 초기 프로젝트 (1)
      • CatCoDog _ 반려동물 식품 판매 사이트 (9)
      • MEGABOXU_메가박수 (0)
      • 개인 홈서버 프로젝트 (1)
    • 문제와 사고 (3)
    • ETC (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • dp
  • 장고 초기 세팅
  • 파이썬 숫자형
  • leetcode88
  • Merge Sorted Array
  • django setting
  • Java
  • 리눅스
  • 오늘의 문제
  • css 포지션
  • Unique Paths
  • css 위치변경
  • JWT 웹
  • 파이썬 기초
  • WEB
  • python
  • algorithm
  • rainbow table
  • catcodog
  • python basic
  • Leetcode
  • 파이썬 자료형
  • 파이썬
  • css 기본
  • css basic
  • css
  • python operator
  • 웹개발
  • 파이썬 기본
  • Number Of Island

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
낭만개발자

낭만개발 낭개

[HTML&CSS]: 번외) Semantic Code
Web) HTML & CSS

[HTML&CSS]: 번외) Semantic Code

2022. 4. 30. 19:47
반응형

[HTML] 시맨틱 태그(Semantic Tag)와 시맨틱 웹(Semantic Web) (feat. 웹 크롤링, 인덱싱)

​
​


웹개발을 하는 개발자에게 가장 필요한 능력은 무엇일까요?

가독성 좋은 코드를 짜는 것?

웹 툴을 능숙하게 다루는 것?
​
이에 대한 해답은 시맨틱 코드(Semantic Code)에 있을 것 같습니다.
​
​
출력 결과는 서로 비슷하지만, 그 의미는 전혀 다른 두 코드를 통해 시맨틱 코드에 대해 알아보겠습니다.
​

​
위에서 두 줄의 코드는 모두 같은 모습을 하고 있습니다.
​
하지만, 첫번째 코드는 '제목(Head)'을 나타내주는 < h > 태그를 이용해 코드를 짠 반면, 두번째 코드는 텍스트를 강조하는 기능을 가진 < strong > 태그로 코드를 짰습니다.

둘 중 컴퓨터가 '제목'이라고 인식하는 코드는 어떤 코드일까요?

만약 브라우저가 이 코드를 읽는다면, 제목 부분을 과연 어떤 코드로 인식하게 될까요?
​
둘 다 출력된 결과물은 같지만, '제목'이라는 의미를 부여한 것은 제목을 나타내는 < h > 태그를 사용한 첫번째 코드일 것입니다.
​
​
​
아래의 코드에도 서로 다른 두 코드가 있습니다.
​

​
'순서화된 목록(Ordered List)'을 나타내주는 < ol >태그, '목록(LIst)'을 나타내주는 < li >태그를 함께 사용하여 코드를 짠 첫 번째 코드와, 단순히 사용자가 직접 숫자와 점, '줄바꿈(line BReak)'을 나타내는 < br >태그를 이용하여 코드를 짠 두 번째 코드가 있습니다.
​
앞선 예시와 마찬가지로, 이 중 '목록'이라는 의미를 제대로 담은 코드는 < ol >과 < li >를 사용한 첫 번쨰 코드일 것입니다.
​
이처럼, 의미있는 코드와 웹페이지를 만들기 위해서는, 코드 자체의 의미를 지닌 태그들을 통해 코드를 짜는 것이 중요합니다.
​
​
​

Semantic Tag : 의미를 가지는 태그 (feat. Web Crawling)

​
시맨틱 태그(Semantic Tag)는 그 자체로 태그에 대한 의미가 담긴 코드입니다. 이 시맨틱 태그에 의 해 컴퓨터가 HTML 요소의 의미를 보다 명확히 해석하고 데이터를 활용할 수 있는 시맨틱 웹(Semantic Web) 을 실현할 수 있습니다.
​
HTML 5 부터 새롭게 도입된 시맨틱 태그의 대표적인 예시는 다음과 같습니다.
​

1) header: 제목, 웹사이트를 나타내는 로고, 검색 폼, 작성자 드의 이름을 포함시킬 수 있는 부분.
2) nav: navigation의 약자로, 보통 메뉴,목차 등에 사용.
3) footer: 웹사이트 가장 아래에 부가적인 정보나 링크를 넣을 떄 사용.
4) main: 현재 웹사이트에서 메인이 되는 컨텐츠.
5) aside: 광고, 페이지 관련 다른 링크 등 메인 컨텐츠와 직접적인 상관이 없는 내용들을 넣을 때 사용.
6) article: 문서 본문 중 독립된 콘텐츠를 넣을 때 사용.
7) section: 문서에서 독립적인 특정 영역. (article과의 차이점이라면, article은 그 자체로 독립된 컨텐츠이고, section은 컨텐츠 여러 개의 묶음.)
​
​
사용자가 구현한 HTML페이지를 가져와서, HTML/CSS등을 파싱(Parsing: 구문 분석)하고, 필요한 데이터를 추출하는 기법을 크롤링(Crawling) 이라고 합니다.
​
그리고 사용자가 검색할 만한 키워드를 미리 예측하여 검색 키워드에 대응하는 색인(인덱스)을 만들어 두는데, 이러한 기법을 인덱싱(Indexing) 이라고 합니다.
​
검색엔진은 로봇(Robot)이라는 프로그램을 사용하여 앞서 말한 웹 크롤링을 통해 매일 전 세계 웹사이트의 정보를 수집합니다.
​
* 따라서 시맨틱 태그로 구성되어 있는 웹페이지는 검색엔진에게 보다 의미론적으로 가치 있는 문서 정보를 전달할 수 있고,
검색엔진 또한 시맨틱 요소를 이용하여 보다 효과적인 크롤링과 인덱싱을 할 수 있는 것입니다. *

반응형
저작자표시

'Web) HTML & CSS' 카테고리의 다른 글

[HTML&CSS]4. CSS: inline, block, inline-block  (0) 2022.04.30
[HTML&CSS] 3. CSS: Position  (1) 2022.04.27
[HTML&CSS] 2. CSS의 기본  (0) 2022.04.25
[HTML&CSS]1. HTML의 기본  (0) 2022.04.25
    낭만개발자
    낭만개발자
    좋아하는 것들을 가까이 하자. 행복의 다른 이름이다.

    티스토리툴바