웹마스터 팁

[re] 저의 최종의견 입니다.

2002.12.17 23:12

Dopesoul

병철님의 리플을 보다가 오류가 있어 다시 지적드립니다.

음.. 무엇이 잘못되었다는것인지 알수가 없군요..
SetEnvIfNoCase 에 대해 잘못이해하고 계신것 같군요.. SetEnvIfNoCase 는 대소문자를 구분짓기 위해 사용하는것입니다.

(대소문자를 구분짓지 않기 위해 쓰는것이죠. 즉 SetEnvIf 는 대소문자를 구분짓기위해 쓰는것이고 SetEnvIfNocase 는 대소문자를 구분짓지 않기위해 사용하는 것입니다. 오히려 병철님께서 잘못 이해하고 계신듯 하군요)

즉 http://atple.com 과 http://ATPPLE.COM 을 구분짓는것이지요

(그 반대입니다. 오히려 그것들을 구분짓지 않기위해 사용하는것이지요)

저것을 사용하게 된다면 SetEnvIfNoCase 에 지정된 문자(대/소문자)로 된 도메인접근에 대해서만 예외항목을 적용시키게 되는것입니다.
즉 님의 말과는 다른것입니다. SetEnvIfNoCase Referer "atpple.com" go_in 을 하게될경우 소문자로 링크한파일에 대해서 예외항목을 적용시키고 대문자로 링크한것에대해서는 받아들이지 않겠다는 것입니다.

이 부분도 잘못되었습니다. SetEnvIfNocase 의 영어원문은 다음과 같습니다.
The SetEnvIfNoCase is semantically identical to the SetEnvIf directive, and differs
only in that the regular expression matching is performed in a case-insensitive
manner.
이걸 해석해보면 case-insensitive 즉, 대소문자를 가리지 않는다는 것이죠. 만약 병철님의 말대로
SetEnvIfNoCase Referer "atpple.com" go_in 을 하게되면
ATPPLE 이나 atpple 모두 허용한다는 뜻이지 병철님의말대로
"  소문자로 링크한파일에 대해서 예외항목을 적용시키고 대문자로 링크한것에대해서는 받아들이지 않겠다는 것입니다. " 는 아닌것입니다.


그리고 www 을 사용안한것을 말씀하셨는데.. 음.. 그 이유는 모든 1차도메인에 대하여 2차도메인은 종속되기 때문에 2차도메인을 따로 예외항목으로 지정할 필요가 없습니다.
즉 1차도메인만 지정해줌으로 인해서 atpple.com 에대한 2차도메인 모두가 예외항목으로 지정되는것입니다. 오해의 소지가 없었으면 하는 바램입니다.
링크에대해서는 궁금하시다면 HTTP://DEMO.ATPPLE.COM/jsdk20.tar.Z 를 링크하여 한번 사용해보시기 바랍니다. 앳플은 SetEnvIf Referer 를 사용하고 있으며 DEMO 라는 2차도메인에 대하여 예외항목을 적용시키지 않고있습니다.
왠지 충분한 검증을 거쳐보셔야 할분은 제가 아니라 Dopesoul 님이 아닐까 하는생각이 드는군요.. 저는 서버관리를 하는 서버마스터로써 제가 해본것만을 강좌로 연재하고 있으며 이곳의 왠만한 설정법은 모두 현 앳플닷컴 서버의 설정과 동일합니다. ㅡㅡa

그리고 남의 강좌가 잘못되었을때 이렇게 무턱대고 남의 글을 인용하여 실제 환경에 적용해보지않고 제대로 알아보지 않은상태에서 나의 강좌를 비방하는것은 오히려 옳지않은것으로 여겨집니다.


(실제환경에 적용해본 바이며, 무턱대고 남의 글을 인용한것이 아닙니다. 제가 본 강좌를 쓴 정균님은
더 철저한 검증에 의해 쓴 강좌입니다. 저는 몇몇 강좌를 비교해보면서 이것이 nocase 를 적용해야한다고
생각했기때문에 그와같은 글을 올린것입니다. 물론 간단한 답글달기로 의견을 여쭈었을수도 있을 것입니다.
하지만, 이미 그 강좌를 본분들이 꽤 많으며. 유용한 스크립트 였기에 많은분들이 참고했으리라 생각되었기
때문에 글로 올린것입니다. 한번 강좌를 보고 적용시키신 분들이 또 그강좌를 보는 사례는 드물거라 생각합니다.
)


오히려 강좌를 쓴분의 코맨트에 이렇게 되는것이 아닌가요? 하고 반문씩으로 물어보거나 혹은 이렇게 하는것이 오히려 더 낳을 것입니다 씩으로 하시는것이 오히려 더 낳겠죠..
그럼 이만 줄이도록 하겠습니다.


제가 별 효용없는 딴지를 건 것일수도 있으나, 몇몇 오류들이 보였기에 글을 올렸습니다. 이와같은일이
강의를 올린 분에게는 상당한 자존심의 타격일수도 있습니다. 하지만 SetEnvIfNocase 가 옳음은 확실합니다.
브라우져와 웹데몬은 실제로는 매우 복잡한 명령어 (헤더라고 합니다) 로 동작됩니다. 그 동작에서의
HTTP_REFERER 라는 변수값이 있습니다. 이 부분에서 도메인값이 아파치로 넘어가게 됩니다.
이부분에서 환경변수로서 값이 해석되게 되는데 이부분에서 대 소문자를 가리냐 안가리느냐는 큰 차이를
낳게 됩니다. 자세한 내용은 저의 말을 듣는것보다

http://oops.org/?t=lecture&sb=apache&n=3

위 URL 을 방문하시면 제가 설명하고자 하는 내용이 바로 나타나게 됩니다. 가서 확인해 보세요.
http 헤더캡춰는 tcpdump 나 ethereal 을 이용하거나 패킷 스니퍼링툴을 이용해서 확인해보시면 압니다.
감사합니다.


제목 글쓴이 날짜
[JavaScript] 창의 사이즈 변경 금지 시키기 SM 2002.02.24
[JavaScript] 랜덤 듀레이션 효과 - 페이지 들어오고 나갈때 벗겨지는 효과 보여주기 [1] SM 2002.02.24
[JavaScript] 홈에 머문시간을 제목표시줄과 상태바에 실시간으로 알려줍니다 [1] SM 2002.02.24
[JavaScript] 오늘 날짜와 요일 넣기 SM 2002.02.24
[JavaScript] 가짜 카운터 달기 SM 2002.02.24
[JavaScript] 텍스트 상자에서 메세지가 타이핑 됩니다 SM 2002.02.24
[JavaScript] 전체화면으로 페이지 열기 [2] SM 2002.02.24
[JavaScript] 채널모드로 윈도우 열기 SM 2002.02.24
[JavaScript] 일반적인 형태의 전체크기 윈도우 열기 SM 2002.02.24
[JavaScript] 시간대별로 각기 다른 배경 이미지를 보여주는 스크립트 [1] SM 2002.02.24
[JavaScript] 마우스를 대기만 해도 다른 사이트로 이동합니다 [3] SM 2002.02.24
[JavaScript] 마우스를 대기만 하면 팝업창을 엽니다 SM 2002.02.24
[JavaScript] 문서 새로고침 버튼(링크) 만들기 [11] SM 2002.02.24
▩(JAVA)랜덤으로 이미지 출력 되기 [1] ▩윤미 2002.02.24
스크롤배너 + 마우스 이벤트 - 초이스 응용 버젼임당...^^* file choice 2002.02.25
[JavaScript] 입력필드에 마우스를 클릭하면 초기문자열이 사라집니다 [2] SM 2002.02.25
[JavaScript] 시간대별로 각각 다른 인삿말을 합니다 SM 2002.02.25
[JavaScript] 매일 매일 다른 메세지를 보여줍니다 [1] SM 2002.02.25
[JavaScript] 랜덤 추천 사이트 링크버튼 만들기 (추천) [4] SM 2002.02.25
▩키보드글씨가 그대로 화면에 나타나는 스크립트 [5] ▩윤미 2002.02.26