본문 바로가기
PROGRAM/Script Language

META TAG의 refresh 속성을 이용해보자구영!

by ojava 2011. 3. 11.
반응형


html 문서를 만들면 기본적으로 붙어서 나오는 태그들이 있죠?




그 중 오늘 주목할 내용은 파란색으로 음영이 주어진 META TAG 부분입니다.

기본적으로 많이 사용되는 http-equiv의 값 중 현재 캡쳐파일에서 사용된 내용은 Content-Type인데요.
말 그대로 현재 콘텐츠의 형태를 나타내는 부분입니다.

content의 값으로 현재 콘텐츠의 MIME형태와 charset에 대한 부분을 정할 수 있습니다. 따옴표 위치가 좀 이상하지만~
이 형태를 유지해주지 않는다면 charset 형태를 인식하지 못하는 경우가 생길 수 있으므로 주의바랍니당.


* MIME이란 '내용 형식'을 나타내는 MIME은 Multipurpose Internet Mail Extensions의 약자입니다. 
이는 이메일과 함께 동봉할 첨부 파일을 텍스트 문자로 전환해서 이메일 시스템을 통해 전달 하기 위해 개발된 인코딩 방식이여서 
이름이 "Internet Mail Extension" 이지만, 현재는 웹을 통해서 여러 형태의 파일을 전달하는 데 두루 쓰입니다.

MIME은 기존에 존재하던 UUEncode 방식의 단점을 보완하며 떠오르게 되었습니다. 
기존에 문서 끝 부분의 공백이 사실은 공백이 아니라 변환되어야 할 값인데 공백을 무시하는 시스템의 경우에서 UUEncode 파일을 원형 그대로 전달 받을 수 없었다는 점 등을 보완하였으며, 특히 기존의 UUEncode 방식에서는 없었던 파일 포맷(또는 Content-type) 정보도 함께 담을 수 있습니다. '지금 전달하는 이 파일은 GIF 파일이다.', 'MOV 파일이다.'처럼 그 파일의 종류를 나타내는 딱지를 붙일 수 있었습니다. 이렇게 MIME 에서 사용하는 인코딩 방식을 base64라고 합니다. 방식은 8비트 3개를 6비트 4개로 바꾸어 적절하게 바꾸는 방식입니다. 

MIME 형태의 예시 몇가지!

application/msword
text/html
application/pdf
audio/mpeg



MIME에 대해 아주 간단하게 정리하고 넘어갔지만! 오늘은 Content Type에 대한 내용이 아닌 
http-equiv에서 지원하는 다른 속성인 refresh에 대한 내용을 다뤄볼 예정입니다.


refresh 태그는 새로고침을 해주는 태그입니다. 하지만 기존의 새로고침(F5)이 현재 페이지를 다시 불러오는 것이었다면
이 태그를 이용하면 시간(Second)과 동시에 새로고침으로 이동하게 될 페이지나 파일의 URL까지 정해 줄 수 있다는 차이점이 있겠지영.

기본적인 틀을 소개한 뒤에, 사용의 예제를 살펴보겠습니당.




<meta http-equiv="refresh" content="시간(초 단위); URL=이동하고자 하는 웹페이지 또는 미디어 주소">


ex)    <meta http-equiv="refresh" content="10; URL=http://ojava.tistory.com">



요런식으로 사용하면 간단하게 이동하실 수 있습니다.
일명 납치태그라고도 하는데, 홈페이지 주소가 이동한 경우 이전 주소로 입력했을때 "3초 뒤에 자동으로 이동합니다."
이런 식의 문구를 사용했다면 refresh 태그를 사용한 것으로 생각해도 무방할 듯 싶습니다.


이 태그를 이용할 수 있는 아주 좋은 예제가 있는데요.
홈페이지 주소만을 적었을 때, 자동으로 index 페이지로 이동하는 경우를 많이 보셨을 텐데~
이에 이용하면 좋은 태그입니다. 일단 그런 것이 가능한 원리를 먼저 알아봅시당.

  1. WAS에서는 기본적으로 페이지 주소를 입력하지 않았을 경우, 알아서 찾아 들어가는 주소값들을 가지고 있습니다.
    현재 tomcat을 통한 개발을 하고 있는데, tomcat에서 설정을 담당하고 있는 web.xml에 들어가보면
    이러한 내용을 찾을 수 있습니다.


                       



    (이 내용은 eclipse 내에의 하나의 프로젝트내의 WEB-INF에 들어가서는 보이지 않고,
    tomcat을 설치한 경로의 conf에서 찾아들어갈 수 있습니다.) 


  2. 만약 제일 기본 첫 페이지로 이동하기 위한 주소가 예를들어 ' ojava.tistory.com/index.ojava ' 일 때,
    사용자들이 ' ojava.tistory.com ' 까지 주소를 치고 접속했을 때 이어지는 페이지가 적혀있지 않으므로
    WAS는 welcome-file-list에 의거하여 index 파일들을 찾게 될 것입니다.

  3. 그 때, index.html 또는 index.htm 파일을 만들어 그 상단의 meta tag에 refresh 속성을 적용시켜
    원하는 페이지로 이동시키게 된다면, 우리가 자주 접할 수 있는 주소만 치고도 기본 페이지로 자동 이동하는
    웹 페이지를 만들 수 있는 것이지영!!!!


refresh 태그를 이용해 페이지가 리다이렉트 되는 경로를 그림으로 그려보았어영!



                            




welcome-file-list에 있는 파일이 존재하는 경우와 존재하지 않는 경우로 나누어 표현해보았습니다.
어떤 형식인지 이해에 도움이 되길 바랍니다. 이번 그림 역시 놀랍기 그지없네요~ 와우!


refresh 속성은 이렇게 주소 입력을 간단하게 만드는데 도움을 주기도 하지만,
이를 악용하여 원하지 않는 페이지로 옮겨지게 하는 납치태그로도 사용되고 있습니다 흑....
google 웹 마스터 센터에서는 Meta tag의 refresh 속성을 이렇게 규정합니다.


일정 시간이 지나면 사용자를 새 URL로 이동시키는 메타 태그로, 간단한 리디렉션 형식으로 사용되기도 합니다. 그러나 모든 브라우저에서 지원되지는 않기 때문에 사용자에게 혼란을 초래할 수 있습니다. W3C는 이 태그의 사용을 권장하지 않습니다. Google은 서버측 301 리디렉션을 사용할 것을 권장합니다.


크로스브라우징이 안 될 수 있다는 건 조금 아쉬운 점이네요.
그래도 간단하게 페이지를 이동시킬 수 있는 태그에 대해 알아두는 것도 나쁘지 않으니까영.


다음엔 오랜만에 Java 분류 글을 써봐야겠습니당~




2011.03 오혜영에게 저작권이 있습니다.

반응형