[완료] HTML 질문입니다.
글쓴이: baseball / 작성시간: 수, 2008/09/10 - 8:12오전
<html> <head> <base href="http://www.example.com/site/"> <title></title> <meta http-equiv="refresh" content="60"> </head> <body> </body> </html>
위 코드의 파일명은 'test.html'입니다.
'http://www.example.com/site/test.html'에 접속해 있습니다.
60초 마다 'meta' 태그를 통해 'refresh'를 하게됩니다.
'오페라opera'의 경우 60초 후 'http://www.example.com/site/' 주소로 접속 합니다.
'파이어폭스firefox', 'IE'의 경우 접속해 있는 페이지에서 그대로 'meta' 태그를 통해 'refresh'를 합니다.
제가 보기에는 '오페라opera'가 제대로 처리하고 있는 것 같은데,
'meta' 태그에서 'URL' 부분이 없고, 'base' 태그가 있는 상태이니
'base' 주소로 접속하는 게 맞지 않습니까?
요약하면
'meta refresh' 태그를 'URL'을 지정하지 않고 사용했을 때
'base' 태그의 주소를 참고 하느냐, 주소표시줄의 주소를 참고하느냐
태그가 잘못됐고, 다른 해결 방법이 아니라
저런 상황에서 어느 쪽이 제대로 처리하고 있는지 알고 싶습니다.
감사합니다.
Forums:
HTML 표준을 보면...
HTML 표준을 보시면 base태그는 그저 상대 URL의 기준을 바꾸어 줄 뿐입니다. 즉 새로고침했을때 어떻게 되어 있는지는 표준에 정의되어있지 않습니다.
그러므로 어느쪽이 맞고 틀렸다고 보기는 힘듭니다.
ps. 틀리면 언제든지 지적환영합니다^^
---
“내게 능력주시는 자 안에서 내가 모든 것을 할 수 있느니라.”(빌립보서 4:13)
---
“내게 능력주시는 자 안에서 내가 모든 것을 할 수 있느니라.”(빌립보서 4:13)
..
감사합니다.
본문 수정
설명이 부족한 것 같아서
본문 내용을 수정 했습니다.
at w3c -
at w3c - http://www.w3.org/TR/REC-html40/struct/links.html#edef-BASE
This attribute specifies an absolute URI that acts as the base URI for resolving relative URIs.
HTML, links and references to external images, applets, form-processing programs, style sheets, etc. are always specified by a URI. Relative URIs are resolved according to a base URI, which may come from a variety of sources. The BASE element allows authors to specify a document's base URI explicitly.
at w3c - http://www.w3.org/TR/REC-html40/struct/global.html#edef-META
Note. Some user agents support the use of META to refresh the current page after a specified number of seconds, with the option of replacing it by a different URI. Authors should not use this technique to forward users to different pages, as this makes the page inaccessible to some users. Instead, automatic page forwarding should be done using server-side redirects.
at wikipedia - http://en.wikipedia.org/wiki/URL_redirection#Refresh_Meta_tag_and_HTTP_refresh_header
# This is a proprietary/non-standard extension by Netscape. It is supported by most web browsers.
base URI를 지정하는 것이 BASE라고 하는데.. base URI와 그 문서의 URI라고 보고 refresh해줘야 하느냐..는 용어를 잘 몰라서 모르겠네요. 다음 링크를 참고해봅시다 ㅎ
http://en.wikipedia.org/wiki/Uniform_Resource_Identifier
..
감사합니다.
meta 태그의 http-equiv는
meta 태그의 http-equiv는 사실 HTTP Response 헤더 항목이 와야하는 걸로 알고 있습니다.
하지만 refresh 같은 경우는 표준 HTTP Response 헤더가 아니라 User-agent 단에서 구현해준 헤더라고 알고 있습니다.
따라서 브라우저의 기능을 이용하는 meta refresh는 비표준 HTTP 헤더를 쓰는 것이므로, 어느것이 맞다고 할 수 없습니다.
표준적인 방식을 이용한다면 표준이 이러이러하니 이것이 맞고 저것은 틀리다라고 할 수 있지만..
비표준이라면 아예 판단을 내릴 근거가 없는 셈이지요.
그리고 meta 태그의 경우는 url이라는 이름의 attribute는 없습니다.
사실 meta refresh 의 경우도
<meta http-equiv="refresh" contents="2" url="http://kldp.org">
위와 같이 쓰지 않고, 아래와 같이 써야합니다.
<meta http-equiv="refresh" content="2;url=http://kldp.org">
제 개인적인 의견은 Opera에서 base의 동작은 좀 오버라고 생각이 드는군요.
--
Emerging the World!
Emerging the World!
..
감사합니다.
댓글 달기