웹마스터 팁

바로, PHP를 자바스크립과 비슷한걸로 인식한다는것이죠.
하지만 전혀 다른것입니다.

저는 가끔 주위 사람들에게 PHP에대해(라고 할수있을까) 질문받습니다만.
이런 질문은 저를 난처하게 하죠.

" PHP로 이미지 롤오버하는거 됩니까? "
>씽크 : 이건 자바스크립으로 하는거잖아요-_-

아니면

" PHP로 더블클릭시 새창이 뜨게 할수 없나요? "
>씽크 : 그것은 이벤트로-_-;

그렇습니다.
PHP는 자바스크립이나 우리가 보통 쓰는 마크업 언어 - HTML - 과는 다릅니다.

전 PHP를 이렇게 설명하고 싶습니다.

HTML : 굳은 후의 찰흙
PHP( 또는 기타 서버-사이드 스크립트;ASP,JSP .. ) : 굳기전의 유연성 좋은 찱흙

PHP도 출력후엔 HTML입니다.

여기서 잠깐.
보통 브라우져에서 보여지는 HTML의 구조와 원리를 봅시다.

구조:


타이틀-_-



NZEO만세;

씽크 만세;





원리 :
1. 클라이언트(브라우져)가 보여줄 파일의 내용을 요청.
2. 서버는 요청을 받음.
3. 웹서버(여기서는 서버와 다른의미; 아파치 iis 등)는 요청을 받고 요청에 맞는 파일의 내용을 얻음
4. 얻은 내용을 웹서버는 클라이언트(브라우져, 1번의 클라이언트)로 업로드.
5. 클라이언트(브라우져)는 다운받은 내용을 해석 &출력


이젠 대강 아셨습니까?
특히 원리부분을 이해 하셨는지요.
여기까지는 HTML의 설명입니다.

그런데. HTML과 CGI( 커먼 게이트웨이 인터페이스; .cgi .php .asp etc)의 차이는 뭘까요?

우선 원리를 봅시다.


원리 :
1. 클라이언트(브라우져)가 보여줄 파일의 내용을 요청.
2. 서버는 요청을 받음.
3. 웹서버(여기서는 서버와 다른의미; 아파치 iis 등)는 요청을 받고 요청에 맞는 파일의 내용을 얻음
---------------------------------------------------- 주목
4. 앗?! 파일에 PHP소스가 있다!
5. 웹서버는 받아온 내용을 php.exe(윈도 기준)로 실행
6. php.exe(윈도 기준)은 php소스를 해석하여 html형태의 텍스트를 만들어 웹서버로 전송
---------------------------------------------------- 주목 끝
7. 얻은 (해석된) 텍스트를 웹서버는 클라이언트(브라우져, 1번의 클라이언트)로 업로드.
8. 클라이언트(브라우져)는 다운받은 내용을 해석 &출력

어떤가요?
대충 이해하셨나요?
그렇습니다. php는 "클라이언트에서 해석 되는게 아닌 서버에서 해석되는 스크립트"입니다.
따라서, php소스를 보려고 암만 소스보기를 해도 보이지는 않는다는거죠.
php가 클라이언트에서 실행되는것이라면.. 뭣하러 있겟습니까.
VBScript나 JS가 있는데 말이죠.

이건 서버내에서 정적인(HTML)을 탈피하고자 동적인 스크립트를 만든겁니다.
php에서 클라이언트의 브라우져 버전따위가 아닌 서버(계정)의 사양을 보는것도 그 이유가 되겠습니다.
( JS의 경우 서버가 어떻든 낮은버전의 브라우져는 보이지 않습니다. )

이제 아셨다면..
위와같은 질문 하지 마십시오.
질문자도 "멍청하다"의 인식이 박히고.
대답자도 짜증나게 됩니다..

그럼 좋은하루되세요~

( 씽크 : 의외로 php의 기본조차 모르시고 배우시는 분들이 계시길래 적어봤습니다. )
제목 글쓴이 날짜
[OsE=] 최단 거리... [6] OsE= 2002.03.02
[OsE=] IF 대신... [6] OsE= 2002.03.02
[Yuki-H.] 이미지 크기가 일정 픽셀 이상이면 축소하여... [8] Yuki-H. 2002.03.04
많은것을 파일하나로 처리하잣!! [5] 실버 2002.03.05
2번째~~!! DATE값 받아놓기 &상대방 아이피 알아내기~ [7] 실버 2002.03.07
요일을 한글로 표시 [5] 페리스 2002.03.10
반복문을 한번만 사용한 구구단 [2] 페리스 2002.03.10
php를 리눅스쉘상 에서도 사용하자? [5] 실버 2002.03.10
유용한 함수 - array_reverse 리들 2002.03.10
가변적 변수 할당하는 방법 (t1=1; t2=2; t=t.rand(1,2);) [1] 차카게살자 2002.03.11
[추천 팁] index key 값을 갖는array에서 value에 의한 key값 반환 [1] 차카게살자 2002.03.11
include를 이용한 다음넷 홈페이지 꾸미기1 [10] ZipShin 2002.03.12
include를 이용한 다음넷 홈페이지 꾸미기2(그림 첨부) [4] file ZipShin 2002.03.12
TheMics의 예제와 함께하는 PHP기초(上) [1] TheMics 2002.03.14
[씽크식 PHP] 초심자들이 많이 겪는 실수.. [7] [ζ]씽크 2002.03.16
echo 문 대신... [5] TryZ 2002.03.17
[추천 팁] 방문자의 os와 browser체크 함수.... [3] navyism 2002.03.18
[추천 팁] setcookie()사용시 header어쩌구 하는 에러날때.... [1] 하얀바다 2002.03.19
[추천 팁] [씽크식 PHP] PHP에대해 아무 지식이 없는 사람이 오해하는것. [3] [ζ]씽크 2002.03.23
[씽크식 PHP] 글자 하나씩 때어놓기.. (한글 자르기 포함) [1] John Sync. 2002.03.26