서버측언어를사용하는이유 > PHP

무료강좌-디비라

PHP

PHP Web Programming 강의 리스트

※ 가장 하단이 첫강좌입니다

생활코딩 | 서버측언어를사용하는이유

본문

※ 영상을 선명하게 보기 안내
  1. 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
  2. 팝업목록에서 "품질" 선택하세요.
  3. 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
생활코딩님의 PHP강의 청각장애인을 위한 자막
15444115686987.jpg

 자 이번 시간의 주제는

왜 입니다 우리는 왜 서버 사이드 스크립트 를 사용하는가
라고 하는 것이 이번 시간에 주제에 요 웹 php 를 쓰는가 왜 php
가 강점이 있는가 이런 얘기가 아니고 서버 사이드 스크립트 를 이용하게
된 이유도 역사적인 배경
그런 것들을 얘기해 보는 것이 이번 수업의 목표입니다
그래서 이러한 서버 사이드 스크립트 가 무엇인지를 알고 계신 분들 또 웹
이라고 하는 것에 대해서 역사에 대해서 어느정도 알고 계신 분들은 이번
수업을 꼭 듣지 않으셔도 됩니다
하지만 웹 개발이 처음이신 분들이라면 얻으러 드시면 좋을 것 같아서 제가
좀 준비를 해봤습니다
자 조차 한계 인터넷은 굉장히 간단한 구조를 갖고 있었어요
자 서버가 역시 있었죠
그리고 클라이언트가 있었습니다
자 그리고 여기 있는 요 서버
그리고 있는 클라이언트
이 서버와 클라이언트의 는 자
웹브라우저
그러니까 설치가 되어있고 서버 에는

웹서버가
설치가 되어 있죠 예 그래서 이 웹 브라우저와 웹 서버가
요청하고 응답하는 과정을 거치는 것이 초창기의 외부의 모습이었습니다
다시 말해서 이 php 나
자바나
또는 뭐가 있나요 파이썬
또는 펄과 같은 이런 서버 쪽에서 실행되는 언어들은
과거에는 없었다는 뜻입니다
없었어요 단지 웹서버와 웹브라우저 많이 있었다는 거죠 그래서 옛날에는 웹
프로그래밍을 하는 것이 굉장히 배울 것이 별로 없었어요
예 왜냐하면 너무나 단순하기 때문에 그래서 웹 서버는 이 웹서버가 속해
있는 컴퓨터에 저장되어 있는 html 문서를
웹브라우저가 요청하는 대로 찾아서 읽은 다음에 그것을 웹 웹 클라이언트로
보내 주는 역할만 해 하면 됐기 때문에 굉장히 단순한 구조였다 는 겁니다
자 이 과정에서 이 웹브라우저가 사용자에게 정보를 보여줄 때 그 정보를
표시하는 그 정보가 담겨있는
그 것이 바로 html 이라고 하는 문서인 것이고 그리고 이 html 을
서버와 클라이언트가 주고받기 위한 통신 규약 이 있는데 그것이 바로
http 라고 하는 겁니다
그래서 http 라는 것과 html 은 서로 다릅니다
말하자면 요기 있는 요 html 이 편지 라면 http 는 그 편지를
서로 주고받기 위한 그 중간에 있는 여러가지 절차 들 또는 그 각각의
단계들이 서로 커뮤니케이션하는 것들
뭐 예를 들면 집주소 라든지 또는 그 메시지가 어디를 거쳐서 가야 되는
건지 그런 것들이 http 라고 하는 것이죠 즉 http 는 운송을
담당하는 것이라고 할 수가 있고요
html 이라고 하는 것은 이
2 그 멧세지 자체가 html 할 수가 있는 겁니다
그리고 또하나 여기서 얘기 해 두는게 좋을 것 같은 것이 뭐냐면 바로
ur
i 또는 url 이라는 것이 있어서
자 여기에 있는 요 url uri 라고 하는 것을 우리가 이 브라우저의
주소 표시 창에 다가 입력하고 엔터를 꽝 찍으면 이 클라이언트가 그
유아라 에 유아 레레 해당되는
2 html 문서를 찾아서 그것을
클라이언트가 거기에 담겨있는 html 문서를 다운로드 할 수 있게 되는
것이죠
저기 있는 uri url 등 이 html 과 같은 요런 자원 이런 것들을
자원 이라고 합니다
이것을 식별하는 주소 로써의 주소라고 할 수가 있는 것이고요
그리고 html 은 어 실제로 내용이 담겨 있는 멧세지
그리고 http 라고 하는 것은 그 메시지를 예 운송하기 위한 이 통신
규약 2 http 라고 하는 겁니다
그래서 여기 있네요 html
hp 그리고 이 uri url 을 향하는 것이 인터넷의 사명서 라고 할
수가 있는 것이고 이것을 고안한 사람이 바로
팀 버너스 리 이라고 하는 분입니다
2분이 영국에서 자기를 받았기 때문에 뒤에다가 경우 일부 치죠
팀 버너스 리 경 2분이 바로 요러한 개념들을 유럽입자물리연구소 란 되서
연구를 하는 과정에서 연구자들 길이 좀 더 편안하고 좀 더 효율적으로
커뮤니케이션을 하기 위해서 고안한 것이 바로 링크 라는 개념을 갖고 있는
하이퍼텍스트 라고 하는 것을
2분이 개발을 한 거죠 그래서 여긴 html 은 하이퍼텍스트 마크업 플랜
dg 의 약자이고
http 라고 하는 것은 하이퍼 텍스트 트랜스 포
즉 하이퍼텍스트 는 예 html 이란 뜻으로 생각하시면 되겠구요
자 트랜스퍼 라고 하는 것은 이동시키는 즉 html 을 이동시킬 때
사용하는 이 통신 규약 2 http 라고 할 수가 있는 겁니다
요러한 이 개념들을 익힘 버너스 리 라고 하는 분이 이고 않을 해서 이
아주 초창기의 웹서버와 이 웹브라우저를 만들어서
웹 이라고 하는 것에 역사가 시작이 된 것이 자 그런데 인터넷이 처음
시작됐을 때는 보시는 것처럼 음 뭐 예상 하실 수가 있겠지만 아주 적은
사람이 많지 않은 사람들이 이 웹 이라는 것을 사용했습니다
그렇기 때문에 이렇게 단순한 구조의 지금 웹브라우저 웹서버 만 위
존재하는 이런 단순한 구조로 도 이 충분히 서비스를 하는데 큰 문제가
없었는데
인터넷이라고 하는 것이 이 폭발적인 성장을 하기 시작하면서
그런 단순한 구조 만으로는 여러 가지 문제들이 발생하기 시작했다 라는
겁니다
예를 들어 며 예를 들면 자
옛날에는 열 개의 웹 페이지를 가 왜 10개의 페이지를 가지고 있는 웹
사이트가 있다면 그 웹사이트는
어 html 문서가
요렇게
열 개만 있으면 되는 겁니다 10 개 정도는 만들 수가 있잖아요 그런데
그 웹사이트가 성장하면서 아주 많은 사람들이 보게 되고 또 사람들이 그
사이트에 방문한 사람이 직접 메세지를 작성해서 그것을 사이트 에 전송해서
그 메세지가 다른 사람들에게 열람 될 수 있도록 하려고 하니까 이런
것들을 바로 이 웹서버 만으로는 처리할 수가 없더라는 것이죠 그래서
엔지니어들이 그 문제를 해결하기 위해서 머리를 맞대고 고민하기 시작했고
그렇게 해서 고안된 방법이 바로
c gdi
커먼 게이트웨이 인터페이스 라고 하는 것을 엔지니어들이 고안한 겁니다 자
그래서 이 커먼 게이트 의 인터페이스 라고 하는 것은 우리 수업 추 찬기
에도 제가 설명을 좀 드린 것처럼
자의 웹서버가 이렇게 있고
웹서버 아래쪽에 위치하고 있는 기술입니다
예 여기에 서버 사이드 스크립트 언어들이 이것의 여기서 여기에 위치를
하고 있는 거죠
그리고 웹 서버와 요렇게 연결이 됩니다
그리고 여기서 한가지 줄 중요한 것은 요 서버 사이드 언어들은 웹브라우저

어떠한 연결 점도 존재하지 않고 항상 웹서버를 통해서만 존재한다 라는
것을 여러분들이 기억해 2시면 좋을 것 같아요
그래서 여기에 해당되는 언어가 bhp 또는 자바
또는 팔선 펄 또는 c 10불 풀 뭐 기타 등등의 수많은 언어들이
여기에 해당될 수가 있습니다 그때 이 웹서버와 요 여기에 있는 요
프로그래밍 언어 들 사이에 서로 커뮤니케이션 하기 위한 이 표준화된 주
약이 바로 cgi 라고 하는 겁니다
http 라고 하는 것은 웹브라우저 와 웹 서버가 서로 데이터를 주고
받기 위한 통신 퀴 앞 인 것이고
cgi 라고 하는 것은 웹서버와 여기에 있는 서버 사이드 스크립트 가
서로 데이터를 주고 받기 위한 통신 규약 이 바로 cgi 라고 하는
겁니다

그러면 이것들이 하는 역할은 뭐냐면 웹서버가 웹브라우저가 요청한 어떠한
페이지
어떠한 2 자원 이라고 하는 것이
e html 이 아니라고 한다면 웹서버는 것을 자기가 처리할 수가 없기
때문에 것을 처리할 수 있는 적당한 적합한 이 언어 php 일수도 있고
잡아 할 수도 있고 파이썬 일수도 있습니다
그 언어를 호출합니다 예 그 언어의 엔진 을 호출해서
그 파일 사용자가 요청한 그 파일에 대한 처리를 위 많은 거죠 그럼 요
php 나요 러너들이
그 사용자가 요청한 이 파일 을 읽어서 거기에 적혀있는 각각의 언어에
해당되는
코드를 해석한 다음에 그 결과를 바로 웹 서버에게
돌려주는 겁니다 이때도 cgi 라는 것이 있어서 이 cgi 에 정해진
방식대로 웹 서버에게 돌려주게 되는 것이죠
그럼 웹서버는 그것들을 봐서 마치 자기 컴퓨터에 있는 정적인 html
파일을 돌려 주는 것과 똑같은 방식으로
그렇게 웹브라우저 에게
전송을 하는 겁니다 그럼 웹브라우저는
에 php 나 자바나 파이썬 나 이런 것들을 해석하는 것이 아니라 그냥
html 문서를 해석하는 것과 똑같은 방식으로 웹 페이지를 표시할 수가
있게 되는 것이죠
자 그런데 이 과정에서 또 한 가지 굉장히 중요한 것이 뭐냐면 죽을 쪼끔
확장을 해야 겠네요

데이터베이스 라는 것이 있습니다 데이터베이스 db 라고 하죠
자 데이터베이스가 있어서 데이터베이스 해당되는 것은 mysql
오라클
뭐 기타 등등 에 것들이 있습니다 자 이러한 데이터베이스가 있어서 이
데이터베이스는 어떤 정보를 저장하는 것에 특화되어 있는 시스템입니다 즉
데이터를 저장하는 것에 특화되어 있는 것이라는 거죠 예를 들면 어떤
블로그가 있다면 그 블로그에 있는 포스팅에 제목
또 그 블로그에 있는 그 포스팅에 본문
떡의 달린 댓글 바이어 이러한 정보들이 데이터베이스에 저장이 된다는
겁니다
그리고 이 데이터베이스에 저장이 되어 있다가 사용자가 어떤 웹 페이지를
요청하게 되면 이 웹서버는 그것을 처리할 수 있는 언어 에게
위임을 하게 되고 어이 언어는 그 언어로 작성되어 있는 코드 코드 를
해석해서
웹서버로 돌려 보냈는데 그 과정에서 만약에 데이터베이스에 있는 데이터
예를 들면 제목이나 본문 댓글과 같은 데이터를
어 사용하는
코드가 들어 있다면 이 언어 드리니
여기 있는 데이터베이스에 접속해서 그 데이터베이스에 있는 이러한 정보들을
가져온 다음에 그것을
html 문서로 만든 다음에 그것을 다시 웹서버로 돌려주게 되는 거죠
그러면 웹서버는 그것을 이렇게 다시 웹브라우저로 전송하게 되는 것이
기본적인 과정입니다
자 그렇기 때문에 여러분은 하나의
어떤 웹 페이지를 보여준다 고 했을 때의 하나의
php 로 만들어진 또는 자바 뭐 어떤 것도 상관 없습니다
아무튼 php 로 만들어진 하나의 파일로 파일을 만들어 놓으면 그 파일
그 파일이 사용자가 요청하는 정보가 무엇이냐에 따라서
데이터베이스에 접속해서 데이터베이스에 저장되어 있는 그 정보들을 가져오고
그것을 html 파일로 만든 다음에 그것을 브라우저에게 보내게 되는
것이죠 즉 개발자 입장에서는 파일을 하나만 만들면 된다는 거예요
그리고 그 파일 하나에 어떤 구현 방식 이나 이런 것들을 바꾸게 되면
모든 정보들의 그것이 이 일제히 반영이 된다는 것이죠 자 여기 보시면
여러분들이 공부하시는 이 고픈 튜토리얼 쓰는 사이트를 보고 계십니다
자 여기엔 여러개 컨텐츠들이 있어요 예
어이 생활코딩 ou 아래의 만
약한 1000개 정도 되는 요 웹페이지 들이 존재하고 있습니다
자 그런데 만약 이에 2000개 웹페이지를 제가 손으로 다 맞는다면 그
쉬운 일일까요
이게 6000개 니까 어쩌면 가능할 수도 있겠지만 만약 이익에만 개고 또
20000 개 고 어 100만 게고 1000만개 라고 하면 점점 더
사람이 것을 수작업으로 만드는 것이 불가능 해 지기 시작합니다
그리고 만약 그 웹페이지에 어떤 구성 디자인 이런 것들을 바꾼다고 한다면
그것은 가능해 질까요
불가능해 지는 것이죠 그리고 또 사용자가 어떠한 정보를
요렇게 입력해서 그 입력한 정보를 저장 했을 때 그것이 화면에 개시될 로
가고 싶다면 그것은 웹서버 만으로는 할 수 있는 일이 아닙니다
바로 그렇기 때문에 우리가 php 라는 것을 사용하는 것이고
php 와 같은 그런 시스템 그런 서버 사이드 스크립트 가 있기 때문에
이 여러분은 이 웹 페이지를 보여주기 위한 단 하나의 하나의 php
페이지 또는 php 애플리케이션을 만들게 되면 이 url 로 접근하는
주소에 따라서 다른 정보를 보여줄 수 있다라는 것입니다
자 우리가 지금까지 상당히 복잡한 그림을 그렸습니다
어 그런데 이 그림은 사실은 상당히 단순한 그림이에요
말하자 우리가 아주 지금 높은 산에
요 꼭대기 올라와서 밑에 있는 수많은 삼은 들을 지금 볼 바라보고 있는
거라고 생각하시면 될 것 같습니다
그렇기 때문에 아주 단순한 형태로 이것들을 바라봤지만
우리가 이 사안을 점점 화산 하면서 해
여기있네요 사물들이 점점 더 가까이 보이게 되면서 각각에 대한 구체적인
모습들을 보게 될 겁니다 지금 추상적인 레벨에서 바뀐 얘기할 수가
없지만요
그렇게 해서 여러분들이 각각의 것들이 무엇이고 또 이 각각의 구성
요소들이 서로 어떻게 상호 작용 하는가
이런 것들을 알아가는 것이 어디에 오면은 이 기술에 대한 이해를 넓히는
과정이라고 볼 수가 있겠습니다
지금 출발점이 기 때문에 높은 데서 부터 낮은 데를 바라보는 것을 시작을
하는 거죠

댓글 0개

등록된 댓글이 없습니다.

 
Total 93건 1 페이지
썸네일
제목

Menu