1. WWW
개념
WWW는World Wide Web의 줄임말이다.
인터넷에 연결된 컴퓨터들 사이에서 사람들이 정보를 보고, 찾고, 공유할 수 있게 만든 전 세계적인 정보 공간을 말한다. 보통은 그냥웹(Web)이라고 부른다.여기서 먼저 분명하게 구분해야 하는 것은
인터넷과웹이 같은 말이 아니라는 점이다.
인터넷은 컴퓨터들을 서로 연결해 주는 큰 네트워크이고, 웹은 그 인터넷 위에서 동작하는 여러 서비스 중 하나다.쉽게 말하면 인터넷이 길과 연결망이라면,
WWW는 그 길 위에서 우리가 실제로 들어가 보고 이용하는 웹페이지와 웹사이트의 공간이다.
핵심 특징
인터넷 위에서 동작하는 정보 공유 공간이다웹은 인터넷 자체를 뜻하는 말이 아니다.
인터넷이라는 더 큰 기반 위에서 동작하는 대표적인 서비스가 바로 웹이다.이 구분이 중요한 이유는 뒤에서 나오는
URL,HTTP,HTML이
모두 “웹이 인터넷 위에서 어떻게 동작하는가”를 설명하는 요소들이기 때문이다.즉, 웹은 인터넷을 통해 정보를 주고받고,
그 결과를 사용자가 웹페이지 형태로 보고 이용할 수 있게 만든 공간이라고 이해하면 된다.
하이퍼텍스트 방식으로 문서가 연결된다웹의 가장 큰 특징 중 하나는 문서들이 서로 연결되어 있다는 점이다.
사용자는 한 문서만 보고 끝나는 것이 아니라, 문서 안에 들어 있는 연결을 따라 다른 문서로 계속 이동할 수 있다.이때 알아두면 좋은 개념이
하이퍼텍스트다.
하이퍼텍스트는 문서 안에 다른 문서로 이어지는 연결을 넣어 둔 형태를 말한다.그리고 사용자가 실제로 누르게 되는 연결이
하이퍼링크다.
즉,하이퍼텍스트는 연결 구조를 가진 문서 방식이고,하이퍼링크는 그 안에서 실제 이동에 쓰이는 연결이다.그래서 웹은 단순히 문서를 모아 둔 공간이 아니라,
문서와 문서가 이어져 있는 연결된 정보 공간이라고 이해하는 것이 중요하다.
웹페이지와 웹사이트는 구분해서 봐야 한다
웹페이지는 각각의 한 장 한 장의 문서를 말한다.
우리가 브라우저에서 보고 있는 화면 하나하나가 웹페이지라고 생각하면 된다.반면
웹사이트는 서로 관련된 여러 웹페이지가 모여 있는 전체 묶음이다.
예를 들어 어떤 쇼핑몰의 메인 페이지, 상품 페이지, 장바구니 페이지, 주문 페이지가 함께 있다면 그것을 하나의 웹사이트라고 볼 수 있다.사용자가 링크를 따라 페이지에서 페이지로 이동하는 행동은
보통웹 서핑또는웹 브라우징이라고 한다.
브라우저와 서버가 역할을 나눠 동작한다사용자는 보통
웹 브라우저를 통해 웹을 사용한다.
웹 브라우저는 서버에 있는 문서나 정보를 받아 해석한 뒤, 사람이 읽기 쉬운 화면으로 보여 주는 프로그램이다.여기서
서버는 문서나 정보를 가지고 있다가 요청이 오면 보내 주는 쪽이고,
브라우저는 그 내용을 받아서 사용자 화면에 보여 주는 쪽이라고 보면 된다.겉으로는 그냥 페이지를 여는 것처럼 보이지만, 실제로는
브라우저가 서버에서 받은 내용을 읽고 제목, 본문, 이미지, 링크 같은 형태로 화면에 보여 주는 것이다.
웹은 요청과 응답의 흐름으로 움직인다웹의 기본 흐름은 이렇게 이해하면 쉽다.
브라우저를 연다 → 주소를 입력하거나 링크를 누른다 → 브라우저가 서버에 요청한다 → 서버가 문서나 정보를 보낸다 → 브라우저가 그 내용을 화면에 보여 준다
즉, 웹은 사용자가 무엇을 보고 싶다고 요청하면,
서버가 그에 맞는 문서나 정보를 보내 주고, 브라우저가 그것을 해석해서 화면에 보여 주는 방식으로 동작한다.또 사용자는 페이지를 보기만 하는 것이 아니라,
링크를 따라 다른 문서로 이동하거나 필요한 정보를 서버로 다시 보낼 수도 있다.
URL,HTTP,HTML이 함께 웹을 만든다`
WWW를 이해할 때 반드시 같이 봐야 하는 핵심 요소는URL,HTTP,HTML이다.
이 세 가지는 웹이 실제로 동작하기 위한 기본 약속이라고 볼 수 있다.
URL은 원하는 자원이 어디에 있는지 알려 주는 주소다.
우리가 사이트 주소를 입력해서 원하는 페이지로 들어갈 수 있는 이유가 바로 이 주소 체계 덕분이다.
HTTP는 브라우저와 서버가 정보를 주고받을 때 따르는 통신 규칙이다.
브라우저가 문서를 요청하고, 서버가 그 문서를 다시 보내 줄 때 이 규칙을 사용한다.
HTML은 웹 문서의 구조를 표현하는 언어다.
브라우저는 이 문서를 읽고 제목, 문단, 이미지, 링크 같은 구조를 화면에 보여 준다.결국 웹은
주소를 찾고(URL) → 규칙에 따라 요청하고 응답받고(HTTP) → 받은 문서를 구조에 맞게 보여 주는(HTML) 방식으로 동작한다고 이해하면 된다.
초기의 웹과 지금의 웹은 성격이 다르다웹은 1989년
CERN에서 시작되었다.
처음 목적은 연구자들끼리 정보를 빠르게 교환하고 공동으로 활용하기 위한 것이었다.초창기 웹은 문서와 텍스트 중심이었다.
필요한 정보를 서로 연결해서 보는 것이 중요했고, 지금처럼 화려한 화면이나 다양한 기능이 중심은 아니었다.하지만 시간이 지나면서 웹은 이미지, 오디오, 비디오까지 다루게 되었고,
이제는 단순한 문서 열람을 넘어서 정보 검색, 쇼핑, 멀티미디어 감상, 다양한 서비스 이용까지 가능한 공간으로 확장되었다.즉, 초창기 웹이 문서 공유 중심의 공간이었다면,
지금의 웹은 다양한 서비스를 이용하는 생활 기반으로 커졌다고 볼 수 있다.
웹에는 공통 기준이 필요하다웹이 널리 쓰이기 시작하면 브라우저나 개발 방식이 제각각일 때 서로 맞지 않는 문제가 생긴다.
어떤 환경에서는 열리고 어떤 환경에서는 제대로 열리지 않는다면, 많은 사람이 같은 웹을 편하게 사용할 수 없게 된다.그래서 웹에는 공통 기준이 필요하다.
이런 기준을 만들고 장려하는 대표적인 조직이W3C다.여기서는 웹에 공통 기준이 필요하다는 점만 먼저 잡아 두면 충분하다.
자세한 내용은 다음웹 표준파트에서 이어서 이해하면 된다.
헷갈리기 쉬운 부분
인터넷과웹은 같은 말이 아니다.
인터넷은 기반 네트워크이고, 웹은 그 위에서 동작하는 서비스다.
하이퍼텍스트와하이퍼링크는 비슷해 보여도 다르다.
하이퍼텍스트는 연결 구조를 가진 문서 방식이고,하이퍼링크는 실제 이동에 쓰이는 연결이다.
웹페이지와웹사이트는 다르다.
웹페이지는 한 장의 문서이고, 웹사이트는 그런 페이지들의 묶음이다.
브라우저가 곧 웹은 아니다.
브라우저는 웹을 보기 위한 프로그램이지, 웹 자체를 뜻하지 않는다.웹은 단순히 문서를 읽는 공간만이 아니다.
사용자는 링크를 따라 이동하고, 필요한 정보를 서버로 보내고, 서버의 응답을 다시 화면에서 확인할 수 있다.
URL,HTTP,HTML은 서로 따로 노는 개념이 아니다.
웹에서는 이 세 가지가 함께 묶여서 동작한다.
참고
WWW는 뒤에서 배우게 될웹 표준,HTML5,CSS3,JavaScript,AJAX를 이해하기 위한 출발점이다.
특히URL,HTTP,HTML의 역할 구분은 이후 내용에서도 계속 기준이 된다.먼저 웹이 어떤 공간이고 어떤 흐름으로 움직이는지 이해해 두면,
뒤에서 배우는 각 기술이 왜 필요한지도 훨씬 덜 헷갈리게 된다.
2. 웹 표준
개념
웹 표준은 특정 브라우저에서만 동작하는 비표준 기술에 기대지 않고, 모두가 공통으로 사용할 수 있는 표준 기술로 웹페이지를 만드는 것을 말한다.쉽게 말하면
어떤 브라우저에서 열어도, 어떤 기기에서 보아도, 기본적인 내용과 기능이 공통 기준 안에서 안정적으로 동작하게 만드는 방식이라고 이해하면 된다.여기서 중요한 기준은
문서의 구조,화면에 보이는 표현,사용자와의 동작을 한곳에 섞어 쓰지 않고 나눠서 만드는 것이다.
HTML: 문서의 구조CSS: 화면의 표현과 디자인JavaScript: 동작과 상호작용즉, 웹 표준은 단순히 “정해진 태그를 쓰는 것”만 뜻하지 않는다.
웹문서를 역할별로 나누고, 공통 규칙에 맞게 구현하는 방식 전체를 뜻한다.
핵심 특징
구조, 표현, 동작을 나눠서 만든다웹 표준의 핵심은 역할 분리다.
문서의 내용과 구조는HTML이 맡고, 색상·크기·배치 같은 표현은CSS가 맡고, 클릭·입력 처리 같은 동작은JavaScript가 맡는다.이 세 가지가 한 군데에 뒤섞이면 처음 만들 때도 복잡하고, 나중에 고칠 때는 더 힘들어진다.
반대로 역할을 나눠 두면 어디를 수정해야 하는지가 분명해지고, 문서도 훨씬 정리된다.즉, 웹 표준은 코드를 나눠 쓰는 습관이 아니라
웹문서를 역할에 맞게 설계하는 방식이라고 보는 것이 맞다.
특정 브라우저 전용 방식에 기대지 않는다웹 표준은 어떤 브라우저에서만 되는 방식보다,
여러 환경에서 공통으로 동작할 수 있는 방식을 우선으로 본다.예를 들어 특정 브라우저에서만 열리거나, 특정 환경에서만 정상 동작하는 기능에 의존하면
다른 브라우저나 다른 운영체제에서는 같은 페이지가 제대로 보이지 않을 수 있다.그래서 웹 표준을 지킨다는 것은
“내 환경에서만 되면 된다”가 아니라
“다른 사람의 환경에서도 기본적인 내용과 기능이 공통으로 동작해야 한다”는 생각에 가깝다.
유지보수와 수정이 쉬워진다웹 표준을 지키면 가장 크게 느껴지는 장점 중 하나가 유지보수다.
문서 구조와 디자인이 분리되어 있으면, 내용을 바꾸는 일과 모양을 바꾸는 일을 따로 처리할 수 있다.예를 들어 문장 안에서 강조 표현을 할 때마다 글자 크기와 색을 직접 태그에 써 넣으면
나중에 강조 색상이나 크기를 바꾸고 싶을 때 같은 부분을 하나씩 다시 수정해야 한다.하지만 강조용 클래스를
CSS로 따로 만들어 두면
스타일 한 곳만 바꿔도 전체 화면에 바로 반영된다.즉, 웹 표준은 보기 좋은 코드를 만드는 데서 끝나지 않는다.
수정이 쉬운 구조를 만드는 데에도 큰 의미가 있다.
웹 문서가 더 정리되고 가벼워진다구조, 표현, 동작을 나누면 문서 안에 불필요하게 섞여 있던 코드가 줄어든다.
그러면 문서 구조가 더 분명해지고, 전체 문서도 더 정리된 형태가 된다.이것은 단순히 코드가 깔끔해 보인다는 뜻이 아니다.
같은 내용을 더 효율적으로 관리할 수 있고, 필요할 때 더 빠르게 수정할 수 있다는 뜻이다.
여러 기기와 환경에 더 잘 대응할 수 있다지금은 웹을
PC에서만 보는 시대가 아니다.
스마트폰, 태블릿,TV처럼 다양한 화면 크기와 환경에서 웹을 사용한다.이런 상황에서 웹 표준을 지키면
기기마다 전혀 다른 방식으로 따로 만들기보다, 공통된 구조를 바탕으로 더 안정적으로 대응할 수 있다.즉, 웹 표준은 단순한 기술 규칙이 아니라
다양한 환경에서도 내용을 공통으로 전달하기 위한 기본 토대라고 볼 수 있다.
웹 접근성을 높이는 바탕이 된다웹 표준은
웹 접근성과도 바로 연결된다.
웹 접근성은 장애인, 고령자처럼 정보 이용이 어려운 사람들뿐 아니라, 일반 사용자까지 포함해서 누구나 웹 서비스를 사용할 수 있게 만드는 생각이다.즉, 웹 접근성은
신체적 조건이나 기술 환경과 관계없이 웹을 이용할 수 있어야 한다는 뜻이다.웹 표준을 지키면 문서 구조가 더 명확해지고, 브라우저와 다양한 보조 기술이 내용을 이해하기도 쉬워진다.
그래서 웹 접근성을 높이는 가장 기본적이고 효과적인 방법 가운데 하나가 바로 웹 표준을 지키는 것이다.
웹의 목표는 누구나 어디서든 이용할 수 있게 하는 것이다웹 표준의 바탕에는 중요한 생각이 있다.
웹은 특정 사람만 쓰는 공간이 아니라, 누구나 정보를 함께 공유하고 이용할 수 있는 공간이어야 한다는 점이다.그래서 웹 표준의 목표는 단순히 문법을 맞추는 데 있지 않다.
어디서든, 누구나, 큰 제약 없이 같은 정보를 이용할 수 있게 만드는 것이 더 본질적인 목표다.
모바일 웹으로 자연스럽게 이어진다웹 표준이 중요한 이유는 모바일 환경과도 바로 연결되기 때문이다.
휴대폰으로 웹사이트를 볼 때PC화면을 그대로 작은 화면에 넣으면 글씨도 작고 구조도 복잡해서 보기 불편하다.그래서 등장한 것이
모바일 웹이다.
모바일 웹은PC용 사이트를 그대로 보여 주는 것이 아니라, 모바일에 최적화된 웹사이트를 말한다.즉, 모바일 웹은 완전히 별개의 개념이라기보다
다양한 기기에서도 웹을 더 보기 쉽고 사용하기 쉽게 만들기 위한 대응 방식으로 이해하면 된다.결국 웹 표준을 지키는 방향은
모바일처럼 작은 화면을 가진 환경에서도 내용을 더 안정적으로 전달하는 흐름으로 이어진다.
헷갈리기 쉬운 부분
웹 표준은HTML만 잘 쓰는 것을 뜻하지 않는다.
HTML,CSS,JavaScript를 역할에 맞게 나눠 쓰는 전체 방식까지 함께 봐야 한다.웹 표준은 “모든 브라우저에서 화면이 완전히 똑같아야 한다”는 뜻은 아니다.
핵심은 내용과 기능이 공통 기준 안에서 안정적으로 동작하는 것이다.
웹 표준과웹 접근성은 같은 말이 아니다.
하지만 서로 매우 가깝고, 웹 표준을 지키는 것이 웹 접근성을 높이는 중요한 출발점이 된다.특정 브라우저 전용 기능은 당장은 편해 보여도
다른 환경에서는 문제가 생길 수 있다. 그래서 웹 표준은 처음보다 나중을 더 편하게 만드는 방식이기도 하다.
모바일 웹은PC웹과 완전히 끊어진 별개 기술이라기보다,
다양한 기기에서도 웹을 더 잘 이용할 수 있게 만든 대응 방식으로 이해하는 편이 좋다.
참고
웹 표준을 이해하면 왜HTML은 구조,CSS는 표현,JavaScript는 동작으로 나눠 배우는지가 자연스럽게 연결된다.또 웹 표준은
웹 접근성,모바일 웹, 그리고 뒤에서 배우게 될HTML5,CSS3,JavaScript를 이해하는 기준점이 된다.
즉, 이 주제는 각 기술을 따로 외우는 것이 아니라, 왜 역할을 나눠 써야 하는지를 먼저 이해하게 해 주는 출발점이라고 보면 된다.
3. HTML5
1. HTML5란
HTML5는 차세대 마크업 언어 표준이다.
예전HTML이 문서를 작성하고 보여 주는 역할에 더 가까웠다면,HTML5는 멀티미디어와 다양한 웹 기능까지 함께 다룰 수 있도록 확장된 표준이다.핵심은 세 가지다.
- 문서 중심의 웹을 더 풍부한 웹 애플리케이션으로 확장했다.
- 특정 브라우저나 특정 기기에 덜 묶이는 방향으로 발전했다.
- 외부 플러그인에 의존하던 기능을 브라우저 안으로 많이 가져왔다.
왜 HTML5가 필요했는가초기
HTML은 텍스트 중심의 정보 전달이 목적이었다.
그런데 웹에서 이미지, 오디오, 비디오, 동적인 기능 요구가 커지면서 기존 방식만으로는 한계가 생겼다.그래서 예전에는
Active-X, 플러그인 같은 외부 기술에 많이 의존했고, 브라우저마다 따로 지원하는 기능도 달라서 같은 페이지라도 다르게 동작하는 문제가 생겼다.
HTML5는 이런 한계를 줄이고, 웹에서 필요한 기능을 표준 안에서 직접 처리할 수 있게 하려는 흐름으로 나온 것이다.
HTML5가 바꾼 점
HTML5는 웹 문서의 구조와 내용을 더 분명하게 표현하게 했고, 멀티미디어와 여러 기능을 브라우저 안에서 직접 다룰 수 있게 했다.
강의에서는 이를 크게 두 가지로 정리한다.
- 더 풍부한 웹 애플리케이션
- 더 시맨틱한 마크업
2. HTML 요소와 기본 문서 구조
HTML 요소의 기본 형태
HTML문서는 여러 개의HTML 요소로 이루어진다.
요소를 볼 때 먼저 알아야 하는 것은 시작 태그, 종료 태그, 속성, 보이는 내용이다.<tag>보이는 내용</tag> <tag attribute="value">보이는 내용</tag>
<tag>: 시작 태그</tag>: 종료 태그attribute="value": 속성- 태그 사이의 글자 : 화면에 보이는 내용
태그 이름은 요소의 역할을 정하고, 속성은 그 요소가 어떻게 동작할지를 더 구체적으로 정한다.
예를 들어a의href는 이동할 주소,img의src는 이미지 파일 위치,video의controls는 재생 버튼 표시를 뜻한다.
또 주석<!-- 설명 -->은 코드 설명용이며 화면에는 출력되지 않는다.
head와 title
head안에는 문서 정보가 들어간다.<head> <title>제목</title> </head>여기서
title은 브라우저 탭 제목 같은 문서 정보다.
본문 안에 실제로 보이는 큰 제목은body안에서h1,h2같은 태그로 작성한다.
HTML5 기본 문서 구조
HTML5문서는 아래 구조로 이해하면 된다.<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>페이지 제목</title> </head> <body> 실제 화면 내용 </body> </html>
<!DOCTYPE html>:HTML5문서 선언html: 문서 전체를 감싸는 루트 요소head: 문자 인코딩, 제목 같은 문서 정보body: 실제 화면에 보이는 내용초보자는 먼저
head는 설정,body는 출력이라고 이해하면 된다.
meta charset="UTF-8"은 한글이 깨지지 않도록 문자 인코딩을 설정하는 부분이다.
기존 방식과 HTML5 방식의 차이
HTML5는 문서 구조를 더 단순하게 만들었다.
- 문서 선언이
<!DOCTYPE html>로 간단해졌다.- 문자 인코딩도
<meta charset="UTF-8">처럼 짧아졌다.link,script도 더 간단한 형태로 쓸 수 있다.즉,
HTML5는 새로운 태그만 추가한 것이 아니라 문서 선언과 기본 문법도 더 간결하게 정리한 표준이다.
3. HTML4와 HTML5의 차이
추가된 것
HTML5에서는 구조 태그와 멀티미디어 태그가 많이 추가되었다.
- 구조 태그 :
header,nav,article,section,aside,footer- 멀티미디어/기능 태그 :
audio,video,canvas,figure,figcaption,embed,details,datalist,command
의미가 바뀐 것강의에서는
em,hr를 예로 들며 일부 요소의 의미 변화도 함께 짚는다.
즉,HTML5는 태그를 새로 추가한 것만이 아니라 기존 태그를 해석하는 관점도 함께 정리한 것이다.
제거되거나 지양하는 것
- 대체 가능한 태그 제거 :
acronym,applet,dir,isindex- 디자인 목적 태그 제거 :
basefont,big,center,font,strike,tt- 접근성과 구조 문제로 지양 :
frame,frameset,noframes즉,
HTML5는 구조는HTML, 디자인은CSS로 더 분명하게 나누는 방향으로 정리된 것이다.
4. 태그를 기능별로 보는 분류강의에서는 태그를 무작정 외우기보다, 무슨 역할의 태그인지 먼저 보는 감각도 같이 설명한다.
Metadata Content문서 정보, 다른 문서와의 관계, 표현과 동작 설정을 담당하는 태그들이다.
대표 태그:
baselinkmetanoscriptscriptstyletemplatetitle
Flow Content
body안에서 사용되는 대부분의 태그들이 여기에 들어간다.
즉, 본문 안에서 흐르듯 배치되는 일반적인 콘텐츠라고 보면 된다.대표 태그:
a,article,aside,audioblockquote,button,canvas,divfigure,footer,formh1~h6,header,img,inputmain,nav,ol,p,section,spantable,textarea,time,ul,video등
Sectioning Content문서 구조를 나누는 태그들이다.
articleasidenavsection
Heading Content제목을 나타내는 태그들이다.
h1h2h3h4h5h6이 분류를 보면 태그를 하나씩 외우기보다 문서 정보용인지, 본문용인지, 구조용인지, 제목용인지 먼저 감을 잡을 수 있다.
5. HTML5에 추가된 주요 태그
구조 태그
header: 머리말, 제목 영역footer: 제작자 정보, 저작권 정보 등 아래쪽 영역hgroup: 제목과 부제목 묶기nav: 메뉴, 이동 링크 영역section: 제목별 문서 영역article: 뉴스 기사, 블로그 글 같은 독립적인 콘텐츠aside: 본문 옆 참고 영역main: 문서의 주요 콘텐츠 블록
멀티미디어/콘텐츠 태그
figure: 그림, 비디오 같은 콘텐츠 묶음figcaption:figure의 제목이나 설명picture: 반응형 웹에 맞는 이미지 정의audiovideocanvasembed
의미 표현 태그
strong: 아주 중요하거나 긴급한 내용 강조time: 날짜와 시간에 의미 부여mark: 형광펜처럼 특정 텍스트 강조details: 추가 정보summary:details의 머리글
기타 추가 태그/속성
ol reversed: 목록 순서 거꾸로 표시a download: 링크 대상 파일 다운로드a ping: 링크 클릭 정보 자동 송신ruby,rt,rp,rb,rtc: 루비 주석 표현bdi: 텍스트 방향 격리wbr: 줄 바꿈 가능 지점menu: 명령 목록command: 호출 가능한 명령dialog: 대화 상자나 창 표현복습할 때는 먼저 구조 태그, 멀티미디어 태그, 의미 태그 중심으로 기억하면 된다.
6. 시맨틱 태그와 구조시맨틱 태그는 태그에 의미를 부여해서 문서 구조를 더 쉽게 파악하게 해 주는 태그다.
예전에는
div를 여러 번 써서 구조를 나눴다면,HTML5에서는header,nav,main,section,article,aside,footer처럼 역할이 드러나는 태그를 사용한다.장점은 세 가지다.
- 접근성 향상
SEO향상- 가독성 향상
위 그림처럼
HTML5문서는 의미 있는 태그로 구조를 나눌 수 있다.
모양만 나누는 것이 아니라 이 영역이 무슨 역할인지까지 태그 이름으로 드러내는 것이 핵심이다.
대표 시맨틱 태그 역할
header: 머리말, 제목nav: 메뉴, 이동 링크section: 주제별 구간article: 독립적으로 읽을 수 있는 실제 글aside: 본문 옆 보조 내용footer: 회사소개, 저작권, 약관, 제작 정보main: 페이지의 핵심 본문특히
section은 큰 구간을 나누는 느낌이고,article은 그 안의 실제 글 하나를 담는다는 차이를 같이 기억해야 한다.
7. 기본 예제로 보는 자주 쓰는 태그
제목과 구분선<h1>자주 사용되는 HTML 태그들</h1> <!-- 수평선 그려주는 태그--> <hr />
h1: 가장 큰 제목h2: 그보다 한 단계 작은 제목hr: 가로 줄로 구간 나누기제목 태그는 단순히 글자를 크게 만드는 것이 아니라 문서 내용을 구간별로 나누고 중요도를 보여 주는 역할도 한다.
링크<h2>하이퍼링크 설정</h2> <a href="http://www.w3schools.com/tags/default.asp">HTML 학습 사이트</a> <a href="http://www.naver.com/">네이버</a>
a는 다른 페이지로 이동하는 링크 태그다.
실제 이동 주소는href에 적고, 화면에 보이는 글자는 태그 사이에 적는다.
이미지<h2>이미지 출력</h2> <img src="../images/1.jpg" width="200" /> <img src="http://localhost:8088/edu/images/olaf.jpg" width="200" /> <img src="/edu/images/duke.png" width="100" />
img는 이미지를 출력하는 태그다.
src: 이미지 파일 위치width: 이미지 너비경로는 크게 상대경로, 절대경로, 서버 시작 위치 기준 경로로 볼 수 있다.
이미지가 안 보이면 태그보다 먼저 경로가 맞는지를 확인해야 한다.
목록<h2>순서가 있는 리스트</h2> <ol> <li>HTML</li> <li>CSS</li> <li>JS</li> </ol> <h2>순서가 없는 리스트</h2> <ul> <li>HTML</li> <li>CSS</li> <li>JS</li> </ul>
ol: 순서가 있는 목록ul: 순서가 없는 목록li: 실제 항목
ol은 번호가 붙고,ul은 점 모양이 붙는다.
표<h2>테이블</h2> <table border="/"> <tr> <th>언어명</th> <th>기능</th> </tr> <tr> <td>HTML</td> <td>웹 페이지의 내용 담당</td> </tr> <tr> <td>CSS</td> <td>웹 페이지의 스타일</td> </tr> <tr> <td>JS</td> <td>웹 페이지의 상호작용과 동적인 처리</td> </tr> </table>
table: 표 전체tr: 한 줄th: 제목 칸td: 내용 칸예제에는
border="/"가 들어 있지만, 표의 선과 모양은 보통CSS로 따로 다루는 경우가 많다.
8. video와 audio
HTML5에서는video,audio태그를 통해 플러그인 없이 멀티미디어를 다룰 수 있다.
video 태그 주요 속성
src: 동영상 파일 경로poster: 동영상이 보이기 전 대신 보여 줄 그림preload: 재생 전 미리 로딩autoplay: 자동 재생loop: 반복 재생controls: 재생 컨트롤 표시width: 화면 너비height: 화면 높이<h2>비디오</h2> <video src="../images/trailer.mp4" width="500" height="400" controls></video>
controls를 넣으면 재생, 정지, 볼륨 조절 같은 기본 버튼이 함께 표시된다.
poster는 재생 전 썸네일,autoplay는 자동 재생,loop는 반복 재생,preload는 미리 로딩을 뜻한다.
figure와 figcaption<h2>이미지에 이름 붙이기</h2> <figure> <img src="../images/3.jpg" width="100" /> <img src="../images/4.jpg" width="100" /> <img src="../images/5.jpg" width="100" /> <figcaption>큐티아이들</figcaption> </figure>
figure는 이미지, 표, 비디오처럼 하나의 독립적인 콘텐츠 묶음을 표현할 때 사용한다.
figcaption은 그 묶음에 대한 제목이나 설명을 붙이는 태그다.
9. HTML5 Web Form
HTML5는 입력 폼을 많이 강화했다.
새로운 input type
url: 웹 사이트 주소 입력number: 숫자 입력range: 슬라이드 막대로 숫자 선택search: 검색 상자date: 날짜 선택month: 월 선택week: 주 선택time: 시간 선택color: 색상 선택
새로운 input 속성
autocomplete: 자동완성 제어autofocus: 페이지 로딩 후 자동 포커스min,max,step: 값 제한placeholder: 입력 전 힌트 표시required: 필수 입력 검사multiple: 다중 파일 업로드 가능즉, 입력 목적에 맞는 전용 입력 UI를 더 다양하게 쓸 수 있게 된 것이다.
예제<form action="나중에학습할서블릿프로그램의URL" method="get"> 이름 <input type="text" name="stname" required><br> 암호 <input type="password" name="stpwd" required><br> 나이 <input type="number" name="stage"><br> 좋아하는 칼라 <input type="color" name="stcolor"><br> 좋아하는 음식 <br> 햄버거 <input type="checkbox" name="stfood" value="f1"> 비지찌게 <input type="checkbox" name="stfood" value="f2"> 회덮밥 <input type="checkbox" name="stfood" value="f3"> 돈까스 <input type="checkbox" name="stfood" value="f4"><br> 성별 <br> 남성 <input type="radio" name="gender" value="male"> 여성 <input type="radio" name="gender" value="female"><br> <input type="submit" value="전송하기"> <input type="reset" value="초기상태로"> </form>
코드 해설이 예제는
form태그 안에서 여러 입력 태그를 함께 사용하는 기본 흐름을 보여 준다.
action은 전송 대상 주소이고,method="get"은 데이터를GET방식으로 보낸다는 뜻이다.
text,password는 기본 입력이고,number,color는HTML5에서 강화된 입력 타입이다.
required를 넣으면 필수 입력으로 검사한다.
checkbox는 여러 개를 동시에 선택할 수 있고,radio는 같은name안에서 하나만 선택할 수 있다.
마지막의submit은 전송,reset은 입력값 초기화 버튼이다.
placeholder는 실제 입력값이 아니라 힌트 문구이고,required는 사용자가 내용을 채웠는지 브라우저 단계에서 먼저 확인해 주는 역할이라는 점도 같이 기억하면 된다.
10. contenteditable
contenteditable은 요소를 편집 가능한 상태로 바꾸는 속성이다.
true: 편집 가능false: 편집 불가능inherit: 부모 요소 값 상속, 기본값즉, 화면에 출력된 요소를 브라우저 안에서 직접 수정할 수 있게 만드는 기능이다.
11. HTML5와 모바일모바일 환경에는 서로 다른 운영체제가 있고, 각 운영체제에 맞는 앱을 따로 만들려면 비용이 크다.
그래서 강의에서는
HTML5를 이용한 모바일 웹앱을 중요한 방식으로 본다.
하나의 웹 기술로 동시에 여러 디바이스를 지원할 수 있기 때문이다.
이어서HTML5로 개발되는 하이브리드 앱 흐름도 함께 소개한다.
모바일에서 활용되는 주요 HTML5 기술
Offline지원 :LocalStorage,IndexedDB,App Cache- 미디어 처리 :
Video,Audio,Canvas,SVG- 입력 지원 :
Advanced Forms- 위치정보 :
GeoLocation즉,
HTML5는 모바일에서도 저장, 미디어, 입력, 위치정보 같은 기능을 웹 기술 안에서 처리할 수 있게 해 준다.
12. HTML5가 가능하게 한 것강의안 마지막은
HTML5를 두 가지로 정리한다.
1. 더 풍부한 웹 애플리케이션
video,audio를 이용한 비디오/오디오 재생canvas를 이용한2D,3D그래픽 처리Application Cache를 통한 오프라인 동작Cross Document Messaging,XMLHttpRequest Level2를 통한 도메인 간 통신Web Storage,Indexed DB를 통한 클라이언트 저장Web Workers를 통한 백그라운드 처리Server-Sent Events,Web Sockets를 통한 서버 푸시와 양방향 통신File API를 통한 로컬 파일 읽기
2. 더 시맨틱한 마크업
- 문서 의미를 더 분명하게 표현할 수 있게 됨
div중심 구조에서 벗어나 용도별 의미 있는 태그 사용- 문서 구조와 데이터 의미를 더 명확하게 표현 가능
- 대표 태그 :
head,main,section,footer,article,nav,address,time
마지막 핵심 정리
HTML5는 문서 중심의HTML을 더 풍부한 웹 기술로 확장한 표준이다.- 기본 문서 구조는
DOCTYPE → html → head → body흐름으로 이해하면 된다.HTML5에서는 구조 태그, 멀티미디어 태그, 의미 태그, 폼 기능이 크게 강화되었다.- 시맨틱 태그는 문서 구조의 의미를 더 분명하게 드러낸다.
- 모바일 환경에서도
HTML5는 여러 기기를 함께 지원하는 중요한 기반 기술이다.- 결국
HTML5는 더 많은 기능을 웹 안에서 직접 처리하게 만들고, 문서 구조도 더 의미 있게 표현하게 만든 표준이라고 정리하면 된다.