'Html'에 해당되는 글 2건

  1. 2009.03.10 HTML5 3
  2. 2009.02.16 HTML BASIC

HTML5

Html 2009. 3. 10. 18:56
- WhatWG

- 새로운 것?
새 구조: aside, figure, section
새 인라인요소: time, meter, progress
새로운 내장요소:video, audio
새로운 대화형요소: details, datagrid, command

- HTML5 == Web Application 1.0

- namespace, schema 가 없다. 태그 안닫아도 된다. 브라우저 오류에 관대하다.

- 추가된 것?
( div + section ).append( header, footer, nav )
( em, code, strong ).append( meter, time, m )
(img, embed).append( video, audio )

- 브라우저가 html5를 지원하지 않는 경우 그레이스풀하게 자신의 버전을 낮춘다.

- 구조적 블록 요소
section : html의 heading 내용
header : 머리글, head 요소와 다름
footer : 바닥글, 전자편지 서명
nav : 링크 모음
article : 개별 항목
4에서는 div 남발로 복잡해보임 vs 5에서는 구조적
5에서는 더 이상의 div 필요없다. class 속성으로 구역종류 표시할 필요없다. 표준 이름이 구역을 나타내기 때문. 오디오, 모바일, 기타 비표준 브라우저에서 중요해질 수 있다.

- 의미적 블록 요소
aside : 흐름에서 벗어나는 문장(참고, 팁, 사이드바, 독립인용, 괄호 삽입구등..)
4에서는 사이드바를 흔히 표로 구현 but 5에서는 aside 이용해 합리적 구현 가능
사이드 바가 놓일 위치는 css에서 힌트를 얻어 브라우저가 판단함.

figure : 이미지 블록과 제목 표현
5에서 figure 요소 사용시 브라우저는 (특히, 스크린 리더는) 이미지와 이미지 제목을 분명하게 연관짓게 된다.
이미지 외에도 audio, video, iframe, object, embed 요소 제목 붙일때도 사용하면 편리.

dialog : 여러 사람 간에 일어나는 대화 표현
5에서 dt는 연설자로 dd는 연설로 중복정의함. 정확한 문법은 아직 논의가 분분.

- 의미적 라인 요소
4에서는 var, code, kbd, tt, samp 라는 소스 코드 살짝 병경한 인라인 요소 5개 
기술자와 저작자 간의 불균형 해소.

mark : 강조는 아니지만 '주목' 정도. (예, 구글의 저장된 페이지)

time : 특정시간 표현, 요소 내용은 어떤 형식도 가능, but datetime 속성을 사용해 시스템이 인식하는 시각형식 지정해야 함. 검색엔진, 달력 프로그램과 같은 응용프로그램에서 시각을 인식 용이해진다.

meter : 특정 범위 숫자 값 표현. 속성은 value, min, low, high, max, optimum 사용하여 시스템이 인식하는 숫자 값을 지정해야 한다.

progress : 현재 진행 중 상태 표시, 속성은 value는 현재값, max는 최대 값

- 내장된 미디어
video : 비디오 재생 요소
현재의 웹 비디오 플레이어는 각각의 독점적 기술을 사용하낟. 유투브는 플래시, MS는 윈도우미디어, 애플은 퀵타임을 사용한다. 그래서 모든 브라우저에서 돌아가는 비디오 내장 마크업이 없다. 그래서 video 나옴.
특정 형식과 코덱 선호 여부는 아직 논의중. 결국 시장에 의해 판가름 될꺼라 판단됨.

audio : 음악 재생 요소, autoplay 속성은 사용자 요청없이 재생. loop는 반복횟수 

- 상호작용
HTML 5는 Web Application 1.0의 그늘에 속함. 다음의 새 요소의 추가로 웹페이지와 유저간의 상호작용을 높힌다. 아래 요소는 유저 선택과 동작에 따라 페이지 내용이 바뀌지만 새페이지를 읽기위해 서버와 통신하지 않는다.

details : 기본적으로 표시되지 않는 상세정보. 각주나 후주 용도이다. legend 요소로 상세정보 요약해도 좋다.
open 속성(디폴트 펼침) 지정 가능하다.

datagrid : 그리드 컨트롤 제어, 기존의 정적 자료 표현과 달리 스크립트가 동적으로 갱신하는 트리, 목록, 표에 사용. dataglid 초기 자료를 table, select 내용에서 가져온다. 행과 열셀 선택, 축소, 편집, 삭제등 자료를 직접 조작할 수 있는 인터페이스가 추가되었다. (DOM HTMLDataGridElemnt)
초기자료를 DataGridDataProvider 개체를 이용해 나중에 동적으로 추가해도 상관없다. db로 부터 ajax 통신할수 있는 어느 곳이든 가능하다. 

menu & command : menu가 4에서 없어졌다가 5에 다시 컴백했다. 대신 command를 달고 돌아왔는데 각 요소는 동작을 유발한다. checked 속성, radiogroup 속성을 지정할 수 있다.
위의 간단한 명령 목록 외에도 툴바나 팝업 컨텍스트 메뉴에도 menu요소를 사용한다. type속성을 toolbar, pop으로 지정한다. icon속성은 버튼에 이미지. label: 메뉴제목

- 결론
HTML5는 마크업을 더욱 간단하고 명료하게 만든다(유연성은 어떨지 잘 모르겠다..) 아마 div/span 사용이 줄어들 것이다. 구버전 htm만 지원하는 브라우저라도 HTML5를 읽기에는 무리가 없다. 왜냐면 인식하지 못하는 요소는 기본적으로 무시되는 HTML방식 때문이다. 모두가 사용하기 쉽도록 상호운영성을 충분히 고려하여 신중하게 요소를 정의했다고 한다.

자세한 내용은 아래 url을 참고하자.

refer to :














Posted by 빈솔B
,

HTML BASIC

Html 2009. 2. 16. 20:50

 HTML이란?
+ 구성요소: HTML + TAG
+ HTML 전송 프로그램 : HTTPD(http Demon) 즉, 웹서버

 웹서버 작동원리
+ 웹서버 설치시 필요사항 : IP주소, Port 번호 + HTML Dir, CGI Dir
+ HTML, 추가 필요 이미지, 멀티미디어파일 요청 후 다 받으면 서버와의 연결 끊음
+ HTTP1.0 : 요청시마다 conn/disconn 반복 but, HTTP1.1:한번의 요청받아 처리
+ 클라이언트가 CGI 요청경우 -> CGI 실행시 입력정보 : 브라우저 정보, 사용자 입력정보, 브라우저에 저장되어 있던 쿠키 정보
+ Cache: CGI는 출력내용을 따로 보관했다가 한꺼번에 전송함 (CGI 종료 또는 캐시가 꽉찰때)
+ 실행권한: Unix에 웹서버 설치시 서버 사용자 이름을 할당해야 한다.

 서비스 되는 문서   읽기권한
 모든 디렉토리  접근권한
  CGI 파일   실행권한
+ CGI 경우 외부실행이기 때문에 보안신경

 HTML 기초
     - 전체 구조
+ TAG는 대소문자 구별없다. 문서내부 공백,TAB무시, TAG는 시작/끝으로 구성
+ 태그 종류: HTML, HEAD, BODY, TITLE, H1, <!- comment ->
+ HTML = header(저자, 키워드, 설정정보) + body (화면출력)
     - 기본 태그
+ HTML : html 문서포함 의미
+ prologue doc identifier : 맨 상단 분서버전 정보(필수아님)
+ HEAD : 문서정보 
++ <base href="url" target="detail"> 문서url, 대상 frm 지정
++ <title/> 윈도 상단 시스템 메뉴표시
++ <meta> svr/client  에서 사용되는 추가정보(저작, 키워드, client pull, image map)
+ BODY : 내용
++ background, bgcolor, text, link(link + vlink + alink), margin : 이 속성들은 문서 전체적으로 적용된다.
+ 속성(attribute) : 일부 tag에 추가되는 정보
     - 속성 추가
+ Tag속성 : HTML 스펙에 정의되지 않거나 브라우저가 못알아먹는 속성경우 무시된다. " 열고 닫음에 주의.
     - Link/Anchor
+ Link 는 다른 문서보기, Anchor 는 문서 어느 부분에 이름 부여하기(책갈피).
+ Link 는 href 속성, Anchor는 name 속성 지정.
+ 상대경로는 브라우저의 내용 대부분을 자신의 Cache에 가져다 쓰게 되어 빠름(. ..로 시작), 절대경로는 다시 전송 받아서 느림(/로 시작). 
+ <a href="../menu.html#UP"> 경우는 Link와 Anchor를 같이 사용한 경우임. Anchor는 로딩시간 따로 없고 문서안에서 이동된다.
+ <a href="mailto:binsolb@daum.net">  메일보내기(추가기능) : 클릭시 outlook과 같은 메일프로그램이 구동되면서 받는 사람에 설정된다. 실제 메일 전송시에 필요한 세팅은 사용자의 몫이다.
+ <a href="ftp://www.binsolb.com"> anonymous 계정으로 FTP 연결됨. 
+ <a href="ftp://userid:password@www.binsolb.com"> userid사용자 password사용자로 FTP로 연결함
+ 브라우저를 이용한 FTP 연결은 login 지속되지 않기 때문에 많이 느리다는 단점 있음.
     - 목록 Tag
+ 나열형에 주로 쓰는 tag
+ <OL>: Orderde List(자동으로 번호조정됨), <UL>:Unorderde List, <LI>:List Item, <MENU>:단순들여쓰기, <DL>:Definition List(단어정의), <DT>:Definition Term, <DD>:Definition Description
+ <BLOCKQUOTE/> 들여쓰기 수행
     - 문자와 스타일
+ 논리적 스타일(논리적 의미 부여) & 물리적 스타일(화면 출력 모습정의)
+ 논리적 스타일 ( EM, STRONG, CODE, SAMP, KBD, VAR, DFN, CITE )
+ 물리적 스타일 ( B, I, TT, U, PRE, HR, BR, ADDRESS, BLOCKQUOTE )
     - 기타 Tag
+ FONT, DIR, CENTER, BLINK, STRIKE
+ BLINK는 브라우저마다 다르게 동작, IE에서는 옵션이 꺼져있음.
     - 특수 문자 표기
 < 공백  ® © ±
 &lt; &gt;   &amp; &quot;  &nbsp;  &reg;  &copy;  &plusmn; 
     - 이미지 표기
+ <IMG src="url" align=top alt="image title" border=0>
+ SRC:이미지 위치, ALT:이미지 로딩 대신문자, BORDER:테두리 두께, ALIGN:정렬(left, right, top, texttop, middle, absmiddle, baseline, bottom, absbottom), WIDTH,WEIGHT:사이즈(확대/축소/%), HSPACE,VSPACE:이미지 주위요소와의 간격
+ WEB에서 인식되는 이미지 파일: GIF, JPG, PNG 이다. 나머지는 사용자에게 물어봄
+ gif는 gif87, gif89(투명, animation 가능) 형식있다.
+ 서서히 나타나는 이미지 : PSP 저장옵션중에 89a-interlaced로 저장된 gif
+ 압축률 PNG > JPG > GIF 순

 HTML 활용
     - Table

+ CAPTION : 표 타이틀, 실제로 사용 전무함.
+ Table tag 속성(해당 테이블 전체) : border, width/height, background, align, bgcolor, bordercolor, cellspacing, cellpadding
+ TR tag 속성(해당 열전체) : align(수평)=left/center/right/justify/char, valign(수직)=top/middle/bottom/baseline, bgcolor
+ TD tag 속성(해당 셀) : align, valign, bgcolor, nowrap(내용 초과시 자동줄바꾸기 안함), width, height, colspan(가로병합), rowspan(세로병함)
+ Table in Table 가능
+ 큰 이미지 출력시 나누어 table로 보여줄수 있다.
+ Table은 브라우저가 화면과 Table의 요소들을 계산해서 화면에 뿌리기 때문에 많은 계산이 필요하므로 큰 Table 작성시에는 주의가 필요하다.
     - Frame
+ 브라우저 창(client area)를 여러 개로 분리하여 작업가능케 함.
+ body tag 없이 사용. 
+ <FRAMESET rows="num/%" cols="num/%">  
<FRAME src="url" name="name" scrolling="yes|no|auto"> ... </FRAME>
</FRAMESET>
+ rows, cols는 콤마분리자로 여러개의 프레임으로 나눌 수 있다. 프레임별로 여백 or 스크롤 설정가능.
+ FRAMSET tag : rows, cols, frameborder, bordercolor
+ FRAM tag : name(href의 target으로 지정가능), src, scrolling, noresize, marginwidth(프레임과 내용의 좌우여백), marginheight (상하)
+ 장점: 특정부분 reloading으로 빨라질수 있다. 단점: back, forward 버튼 동작이 이상해질수 있다.
+ Link를 현재 화면 아닌 다른 화면에서 로딩하고 싶을때 frame name을 href의 tartget으로 설정하면 됨. 지정된 이름의 frame 없으면 새창열림.
+ target 키워드 : _top (현재 브라우저 창의 최상위 frame), _blank(새창), _self(현재 frame), _parent(한단계 위 frame)
     - Form
+ 버튼, 라디오 버튼, 선택박스 (사용자 입력 받아 ACTION 으로 지정된 서버의 cgi 파일이름 으로 입력정보 전달)
+ METHOD: 웹서버로 전달하는 방식 GET, PUT, HEAD, DELETE ...
+ GET : 코드화 되어 서버에 전달시 환경변수(QUERY_STRING)에 저장되어 서버로 전달된다. but, 길이 한계, 브라우저 창 주소에 입력값이 그대로 노출되어 북마크 될수 있다.
+ POST : 브라우저가 보낸 정보가 표준입력(stdin) 통해 서버로 전달된다. 보편적 방법, 길이제한 없다. 입력값 노출 안됨.
+ INPUT TYPE : text, password, file, radio, button, submit, reset, hidden, image(with src)
+ TEXTAREA, SELECT & OPTION 
+ File Upload : FORM 속성중 ENCTYPE 이 있는데 Default로 application/x-www-form-urlencoded 형태의 MIME Type으로 웹서버로 전달된다. 그러나 INPUT의 TYPE=file 경우는 파일이 브라우저로 전달되기 때문에 그 때는 ENCTYPE을 multipart/form-data로 지정해야 파일전송이 제대로 된다.
     - Element
+ TEXT : type=text, value=디폴트값, size, maxlength
+ RADIO : type=radio, checked, 중첩경우(name으로 그룹지정, 그룹내에는 하나만 지정가능)
+ CHECKBOX : type=checkbox, checked
+ BUTTON/SUBMIT/RESET : type=button | submit | reset, value=버튼표시내용
+ HIDDEN/PASSWORD/FILE : text type의 변형된 형태, hidden 값은 은 화면에 보이지 않고 서버로 form 내용 전달시 뭍어감, password는 사용자 입력값이 전부 *, file은 파일첨부시 사용
+ SELECT : 처음것이 기본값, option selected=선택됨, size(높이), mutiple(다중선택)
+ TEXTAREA : value(기본값), cols, rows
하나의 폼 태그 안에 있는 요소들 내용만 Action tag에 지정된 곳으로 전달된다. 다른 것 존재시 따로 전달됨.
+ textarea 내용은 브라우저마다 길이제한 다르다.
+ radio 경우 서버로 전달시 value라는 특정값 따로 사용해서 구분해야 한다. 같은 이름가진 것이 같은 그룹으로 동작한다.
+ 전달 대상(action)은 폼당 하나이기 때문에 여러가지 작업경우엔 복잡해 질수 있으나 일부 브라우저에서 자바스크립트 이용해 action 항목을 바꿀 수 있다.
+ 서버 전달시 구분을 위해 이름(name)을 꼭 쓴다.
+ image 경우 서버 전달시 이미지 좌표값이 전달된다. 예. 이미지 이름이 img면  img.x, img.y 값 전달됨
 기 타
     - MIME Type
+ 웹서버가 브라우저로 전달할때 브라우저는 파일 확장자로 파일을 구분하게 된다. 이런 구분할 파일의 확장자 형식을 MIME type 이라고 한다.
type 종류: text/html, text/plain(ASCII 타입 txt), image/gif, image/jpeg, application/postscript(ps확장자파일), video/mpeg
+ 비표준화 (x로 시작) : Excel MIME Type 은 x-application/x-xls
     - 이미지 맵
+ image 특정 부분 클릭시 동작 다르게 함 (meta tag이용)
+ <MAP name="abc"> <AREA shape="RECT" coords="10,10,40,40" href="abc.htm"></MAP>
<IMG src="a.gif" usermap="#abc">
+ 요즘은 Table(with border=0)로 대체되는 추세
     - 클라이언트 풀
+ 웹페이지는 사용자 요구에만 응답하지만, client pull은 주기적으로 페이지를 가져오게 할수 있다.
+ 방법: mata tag 이용
+ 문법: html header 부분에 위치 <META HTTP-EQUIV="Refresh" CONTENT="12;URL://host.domain/index.html">
++ META : html 3.0 표준태그, 12초 주기
++ CONTENT : 지속시간, 단위는 초
++ URL : 가져올 문서
+ 치명적 단점: Refresh는 한번만 유효 하다 다음화면 불려졌을때 그 문서에 클라이언트 풀 문장이 없다면 다시 요청하지 않는다. 계속 자동으로 할려면 META Tag가 계속 존재하게 구성해야 한다. 더 중요한 건 동접수가 늘어날 경우 서버에 부하가 걸릴 수 있다.
 
마치며
+ html은 규약이므로 www.w3.org 참고
+ 특정 브라우저만 지원하는 기능은 자제
+ 참고 html Library Help 참고하자

Posted by 빈솔B
,