생활코딩 PHP란무엇인가 서버와클라이언트 > PHP

PHP

PHP Web Programming 강의 리스트

생활코딩 | PHP란무엇인가 서버와클라이언트

본문

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

 네 지금부터 php 란 무엇인가에 대한 수업을 시작하겠습니다

자 php 라고 하는 것에 대해서 제가 소개를 드리기 전에 먼저 좀
설명을 드려야 될 개념적인 것들에 대해서 소개를 드릴 건데요
자 우리가 보통 php 와 같은 형태의 기술을 뭐라고 하냐면 이렇게
부릅니다
자 서버
스 아이들
스크립트
또는 여기 있는 스크립트 대신에 어 테크놀러지 라고
예 바꿔서 부르기도 하고요 뭐 우리말 번역을 하면 서버 는 그냥 보통
서버란 만 쓰니까 서버 고 싸이 드는 7 이란 뜻이죠
어떤 측면에 위치하는 존재하는
기술
또는 스크립트는 그냥 언어 라는 뜻과 비슷하다고 생각하시면 되겠습니다
그래서 서버
칡의 조는 쪽에 위치하는 또는 거기서 동작하는
기술 또는 언어 요런 카테고리에 1 php 가 들어가게 됩니다
자 그럼 이 말이 무슨 뜻인지를 우리가 이해하려면 우선 서버 또 그
서버에 이 상대적인 개념인 클라이언트 라고 하는 거에 대해서 먼저 좀
소개해 드리는 것이 순서일 것 같습니다
자 우선 서버 와 클라이언트 라고 하는걸 기다 일단 써놓고 요 서버
자 그리고 클라이언트
자 그리고 이 서버 와 클라이언트 라고 하니 두 개의 개념은
이 생활코딩 에 있는 대부분의 컨텐츠가 2
웹과 관련된 컨텐츠 이고 생활코딩 니라고 하더라도
음 뭐 앱을 만든다 또는 게임을 만든다 이런 대부분의 그런 이 소위 대중
기술들 우리가 만날 수 있는 가장 보편적인 가장 이 많이 보급되어 있는
그런 기술들이 인터넷과 연결되어 있다면 그것은 반드시 서버와 클라이언트
라고 하는 개념을 갖게 되어 있습니다 또 그런 관계를 맺게 되어 있기
때문에 여러분이 서버와 클라이언트 라고 하는 개념을 정확하게 이해하는
것이 이러한 기술들을 이해하는데 있어서 가장 기본이고
뭐 초석 이라고 할 수가 있는 걸어 볼 수가 있습니다
그래서 어떠한 기술이 기술이 있다고 하면 예 제가 비율을 좀 하자면 그
기술은 크게 두 가지로 분리해서 생각해 볼 수가 있을 것 같아요
하나는 그 기술 전체를 아우르는 어떤 개념 이구요
또 하나는 그 각각의 기술들을 구성하고 있는
일종의 부품과 같은 역할을 하는 개별적인 기술들이 있습니다
그래서 예를 들면 이거 같은 경우는 뭐 아파치
또는 iis 이게 뭔지는 제가 있다고 설명 드리고요
자 이거는 php
또는 파이썬
또는 모자 바
이런 것들이 있을 거구요 요거는 mysql
오라클
그래서 이런 것들이 있을 겁니다 여기 있는 각각의 것들이 무슨 뜻인지
지금 모르셔도 아무 문제가 없습니다
다만 중요한 것은 이 서버 라고 하는 이 하나의 이 개념은
아파치 php mysql 같은 다양한 기술들로 구성이 되어있고 그
기술들은
말하자면 서버라고 하는 완제품을 구성하고 있는 부품들이 라고 할 수가
있습니다
그럼 그 각각의 부품들이 이렇게 하나의 틀 안에 모아져 있고 고정되어
있고 서로 연결되기 위해서는
것들 연결시켜주는 개념이 필요한데 바로 그런 걸 저는 저는 뭐라고
그러냐면 보통 프레임
자 이거는 요거 자체는 수업은 아닙니다 이중 오리엔테이션 이라고 봐주세요
저는 플레이 또는 여대
골격 이렇게 얘기할 수가 있을 것이고 이런 것들은 요런 그 뼈대 안에
들어가 있는 하나 하나의 개별적인 기술들은 일종의
부품 부속 또는 뭐 구성요소
이렇게 부를 수가 있을 겁니다 그래서 제가 지금 설명드리는 있어 어 라고
하는 것과 2 클라이언트 라고 하는 이것은
예 우리 수업에서 가장 중요한 뼈대 가장 큰 골격의 해당되는 것이기
때문에 이것들을 먼저 여러분들이 이해하시면 그 다음에 이것들 안에
들어가는 개별적인 기술 2
제가 아까 말씀드렸던 부품들 그런 것들은 거기다가 끼어 넣으면 되는
겁니다
그렇기 때문에 제일 먼저 이해할 것은 골격 뼈대 해당되는 서버와
클라이언트 라고 생각하시면 되겠습니다
자 그러면 우리가 배울 php 는 자의 서버 클라이언트 라고 하는 것
사이에서
자 여기 쯤에 위치해 있는 기술입니다
그리고 2위에는 뭐가 있구요
그리고 이 밑에도 뭐가 있습니다
자 자 그러면 우선 서버와 클라이언트는 말부터 좀 풀어 볼게요 자
클라이언트 란 말은 많이 들어보셨을 거에요 사회생활 하셨다면 그리고
클라이언트 란 말을 들어 들었을 때 왠지 기분이 싸악 나뻐 지는 그런
느낌
뭐 저뿐만이 여러분들 가질 것 같은데요 어떤 클라이언트를 한국사회에서는
뭐라고 부르죠
갑 이라고 봅니다 값
그리고 갑은 뭐 하는 사람이죠 무언가를 요청하는 사람이죠
예 그래서 갑은
무언가를
요청하는 사람입니다
반대로 서버 라는 말은 뭐 들어 보실 수도 있지만 처음 들어보시는 분도
있을 것이기 때문에 제가 용어부터 말씀드리면
보통 우리 식당에서 서빙 한다. 라는 말을 수저 그 많은 뭐죠 음식을
손님들에게 제공 한다. 란 뜻이죠
자 그러면 그 서빙 한 사람을 뭐라고 모르겠어요 써 뭐라고 부르 겠죠
바로 이 서버라고 하는 것은
제공하는 겁니다 제국
또는 요청에 대해서 응답하는 것이 바로 서버 라고 할 수가 있어요
자 그러면 여러분이 웹서버 그 웹 프로그램 또는 뭐 웹 사이트 같은데
접속을 한다. 예를 들면 데 이번 아
다음이나 또는 오픈 튜토리얼 써 같은 사이트에 접속한다. 라고 했을 때
여러분들은 클라이언트 일까요 써볼까요
예 클라이언트입니다 그러면 서버는 무엇일까요
네이버에 컴퓨터 또는 open tutors 컴퓨터 이러한 것들이 여러분이
브라우저를 통해서 요청한 것에 대한 응답을 하기 때문에 또는 정보를
요청한 곳에 해당되는 정보를 제공하기 때문에
예 그 맥락에서 여러분의 그 네이버에 컴퓨터 또 높은 튜토 로 했을
컴퓨터는 서버가 되는 겁니다
아시겠죠 이게 가장 큰 틀이 고 가장 중요한 개념입니다
자 여기 있는 요 개념이 확실치가 않으면 php 를 이해하는 것이 어
상당히 어려워질 수 가 있어요 또는 php 를 이해했다고 하더라도 그것이
여러가지 다른 기술 누가 어떤 관계를 맺는데 있어서 여러가지 부분에서
삐그덕 삐그덕 버릴 수가 있기 때문에
요구도 를 일단 기본적으로 이해를 하셔야 됩니다
자 그럼 이 클라이언트는 보통 여러분이 사용하고 있는 아이폰 안드로이드
폰 또는 노트북 또는 집에 있는 데스크탑 요런 것들 그런 기계들을 큰
틀에서 클라이언트 라고 하고 그 클라이언트에 설치되어 있는 소프트웨어
중에
네이버에 접근하고 다음에 접근할 모프 토레스 에 접근하는
접근할 때 사용하는 프로그램이 무엇인가요
자 제가 뭘 그리고 있을까요
자 여기에 뭐냐면 웹브라우저 입니다 웹브라우저
웹브라우저
자 그럼 웹브라우저를 다른 말로는 뭐라고 부를 수 있냐면
웹 클라이언트 라고도 부를 수가 있습니다
예 자 그러면 웹브라우저를 웹 클라이언트 라고 할 수 있다는 것은 반대로
서버 쪽에는 무엇이 있을 거라는 것을 암시하는 걸까요
그게 무엇인지 지금 모르지만 예 바로 웹서버 라고 부르는 것이 있을
거라는 것을 우리가 추정할 수가 있는 거죠 자 그러면 웹서버는 어디에
있냐 바로 여기에 있습니다
웹서버가 여기에 위치하는 거에요 5
그래서 여러분이 여기에다가 돔 a url 또는 ip 이런 정보들을
입력하고 엔터를 땅 치게 되면 여러분의 웹브라우저는
자 인터넷을 통해서 더 복잡한게 안에 있지만 어디로 가냐
바로 서버 컴퓨터가 위치하고 있는 주소 여기 입력하는 유아 리를 바로 그
주소입니다
자 그 주소로 가서
각 하게 되는 거고 누굴 만나냐 바로 웹서버 라고 하는 소프트웨어를
만나게 됩니다
그리고 그 소프트웨어 에게 요청을 하게 되는 거에요
무엇을 어 오픈 tutors 홈페이지를 보여달라
네이버에 홈페이지를 보여달라 또는 네이버에 블로그를 블로그에 어떤 특정한
페이지를 보여 달라 라고 요청을 하게 되는 것이고
자 그 요청에 대해서 응답하는 것이 바로 웹서버가 하는 일입니다
자 그러면 웹 클라이언트 웹브라우저
예 라고 하는 것을 일종의 개념적인 말이죠
그럼 그 개념에 해당되는 구체적인 제품들이 있죠
뭐가 있나요
자 파이어폭스 그럼
또 i 또 싸 파리 이런 요런 것들이 웹 클라이언트 라는 개념에 해당되는
구체적인 제품들입니다
자 그러면 웹서버 라고 하는 것도 우리가 이게 무엇인지 아직은 잘
모르지만
거기에 해당되는 구체적 그 개념의 해내 구체적인 개념에 해당되는
구체적 제품이 있겠죠 그 제품이 바로 아파치
그리고 ii s 또는 엔진 x 와 같은 것들이 있습니다
제 중에서 아파치가 가장 많이 사용되고 요
iis 는 마이크로소프트 진영의 제품이구요
엔진 x 는 최근에 급부상하고 있는 신의 웹서버는 신의의 새로운 신이 웹
서버 입니다 신흥 예 쉬는
자 요구도 입니다 요구도 기본적으로 이해를 하셔야 됩니다
자 그럼 php 에 대해서 이제 조금 설명을 드릴 건데요
php 를 말씀드리기 전에 제가 한가지 여쭤볼게 있습니다
어이 웹브라우저에서 어떤 웹 페이지를 보여주기 위해서는
예 어떤 언어를 사용하는 데요 그 언어가 뭘까요
그 언어가 무엇인지를 모르신다면
그 언어에 대한 수업을 먼저 들으셔야 됩니다 왜냐하면 php 수업에 선행
수업 2기 선행 수업이 바로 그 언어이기 때문입니다
그게 무엇이냐면
h team
le 및 아 뭐 부가적으로 css 또는 자바스크립트와 같은 것들이
있겠지만 이런것들은 모르셔도 이 php 하시는 데는 큰 문제는 없지만
html 은 반드시 php 수업을 하기 전에 선행적으로 이해해야 될
선수과목 이기 때문에 여러분이 html 이 무엇인가에 대한 개념적인
이해를 못 가지고 계시던 아직 가지고 있지 않다면 이걸 먼저 보셔야
됩니다
요거 우린 지금 설명하지 않습니다 자 그러면 요 사용자가 브라우저를
통해서 서버에 요청을 하게 되면
네이버 홈페이지 를 보여달라고 푸틴을 손 페이지를 보여드릴 나
요청을 하게 되면 바로 이 웹서버는
무엇을 예 무엇을
이 웹 클라이언트에게 전송 하느냐
바로 html 을 웹 서버에 저장되어 있었던 html 을 웹브라우저 에게
전송하게 되는 겁니다 그럼 웹브라우저는 html 담겨 있는 내용을
해석해서 사용자에게 웹 페이지를 보여 주게 되는 것이죠 자 그리고
초창기의 인터넷은 딱 이런 구도 였읍니다
클라이언트가 있고 클라이언트가 있고 그리고 서버가 있었습니다
그리고 클라이언트는 웹 클라이언트 많이 썼고 서버는 웹 서버 머리만
있었고 그리고 클라이언트가 서버에게 요청하면 서버는
자기 컴퓨터에 저장되어 있는 html 문서를 읽어서
그것을 인터넷을 통해서 응답하는 것이 기본적으로 웹의 초창기의
모습이었습니다
그 그 이전에는
어 그때는 php 도 없었고 마이 sql 도 없었고 파이썬 도 없었고 뭐
그렇습니다
발 선이 없어 따기 보다는 파이 쌍과 같은 언어가 php 와 같은 언어가
외부를 위해서 사용되지 않았다 라는 뜻입니다
자 그런데 어떤 문제가 생긴다면 이 html 파일이 라고 하는 것은 소위
정적인 파일입니다
정적인 파일이라는 것은 무슨 뜻이냐면
2 html 문서를 만드는 사람이 그 html 문서를 숫자 법으로 하나
하나 만들어야 된다는 겁니다 자 근데 인터넷에 규모가 잡았을 땐 그 큰
문제가 되지 않았습니다
그런데 네이버 같은 포털 2 생기고 구글 같은 서비스도 생기면서
이렇게 사람이 수작업으로 html 웹페이지 문서를 만드는 것이 점점 더
한계에 도달하게 되는 것이죠
그렇지 않겠어요 예 그렇습니다 자 그렇다 보니까 여러 가지 문제들이
생기는 거죠 예를 들면 그 많은 웹 페이지를 어떻게 사람이 다만 되겠냐
부터 만약에 그 웹페이지에 전체적인 어떤 변화가 필요하다면 그 변화를
어떻게 반영할 것이냐
여러 가지 문제들이 생기기 시작한다.는 거죠
이제 화면이 좀 복잡하니까 제가 새로
잠깐 다른 화면을 이동하겠습니다
자 그래서 이 html 이라는 것이 태초의 있었는데 이 html 을
정적으로
이 파일의 형태로 되어 있는 html 을
이 제공하는 것에 한계를 느끼면서
2 엔지니어드 사이에서는 그 한계를 극복하기 위한 여러가지 고민들이
시작이 됩니다
이거는 거의 20년 전의 일이에요
자 그 고민의 결과가 무엇이냐면 c
ge i 자 요구를 풀어보면
거 먼
게이트
웨이
인터 스위스 라는 뜻입니다
자 이마를 푸는 풀어 보는 것보다 중요한 것은 이게 무슨 뜻인지 이해하는
거니까
제가 말해서 어떤 의미를 도출하는 것보다는
이게 어떻게 동작하는 지를 설명을 드리겠습니다
자 아까 우리가 살펴보았던 그림을 단순하게 도식화 시키면 이렇게 생각해
볼 수가 있어요
제군 웹브라우저 입니다 웹 클라이언트 구요
자 요렇게 1개 나올텐데요 웹 클라이언트
그리고 요건은 웹 서버입니다
그리고요 사이에는 인턴의 시이 있어요
자 그러면 웹 클라이언트가 웹 서버에게
요청을 할 때 예를 들면 요청에 주소가 이런 식이에요
음 지쳐있는 주소는 아닙니다 자오 2.5 org 적군 치 토레스 의
줄임말입니다
그리고 음
top
점 ph 피하고
웹브라우저의 주소 표시 창에 이렇게 입력을 하고 엔터를 꽝 쳤을 때
요기에 요 주소에 해당되는 컴퓨터를 찾아 가겠죠 이렇게 그리고 그
컴퓨터에 도착하면 누구를 만나냐 바로 웹서버를 만납니다
구체적인 제품은 아파치 iis 엔진 x 같은 것이 있어요
자 그러면 웹서버에 도달한
웹서버에 도달을 하게 되면 자의 웹서버 한테 부가적으로 어떤 정보를 알려
준다면 현재 내가 필요한
내가 원하는 페이지는
자의 top 점 php 라는 페이지를 원합니다 라고
이 웹페이지에 게 요구를 하는 거죠 웹 서버에게 부부라는 거에요
자 그럼 웹 서버는 사용자가 요청한 파일을 봐요
그리고 뭘 어디에 주목한 야 면 이 파일의 확장자 명이
뭐예요 php 라는 것을 주목합니다
자 파이썬 이면 py 테구요 뭐 이런식 잉 거에요
자 그러면 웹 서버 웹 서버인 웹서버는
어떻게 생각하냐 면 자 확장자 인 확장자가 php 인 저 파일은
내가 처리할 수 없다라는 것을 알 수 있습니다
확장자가 만약에 이런 것들니라 html 이 라 면
웹서버는 그 html 해당되는 파일을 찾아서 그것을 왜 클라이언트에게
바로 전달합니다
예 그런데 확장자가 php 라는 거예요 그럼 웹서버가 무엇을 알 수
있냐면 자신이 처리할 수 없는 것이고
자 php 란 확장자 예 해당되는 저 파일을 처리할 수 있는 것은 바로
php
엔진이 이것을 처리할 수 있다라는 사실을 알 수 있도록 되어 있습니다
설정에 적혀 있는 거예요 확장자 명이 php 면 php 엔진을 사용하고
확장자 명이 파이 피와 이면 파이썬
의 사용하고 뭐 이런식으로 2 웹서버의 설정으로 그렇게 지정이 되어
있습니다
자 그러면 자신이 처리할 수 없다는 것을 알기 때문에 것을 누구한테
위임하는 야 자 php 엔진 에게 위임 하게 되는 겁니다
그리고 php 엔진의 구동시키고 동작시 키고 php 엔진의 게 야
topic 점 php 라고 하는 파일을 니가 처리해 라고 알려주는 겁니다
자 그런 php 엔진은 topic 점 php 파일을 열어서
거기에 있는 php 문법에 따라서 해석을 한 다음에 그 결과를 웹 서버
에게 다시 돌려주게 됩니다
자 그럼 웹서버는 마치 html 을 html 문서를 웹 클라이언트에게
전송하는 것과 똑같이 그 정보를 웹 클라이언트에게
전송하는 걸 통해서 요청과 응답 의 싸이클이 이렇게 끝나게 되는 겁니다
자 그러면 아까 제가 말씀드렸던 cgi 가 무엇이냐 바로 웹서버와 php
엔진 사이에 서로 통신할 수 있는 정해져 있는
통신 귀 약이라고 이야기해보겠습니다 동신
그 약
또는 약속된 약속
또는 언어 라고도 할 수가 있어요
근데 이런걸 보통 언어 라고 부르지 않고 언어 라고 부르지 난초
자극에 바로 cg 아이 라는 겁니다
커먼 게이트 의 인터페이스 이걸 2 6 외부 필요 없습니다
자 자 그러면 요 웹서버와
자 php 엔진 사이에는
어 웹 서버가 처리할 수 없는 어떤 정보는
정보를 eph png 나 파이썬 나 요런 애플리케이션들이
실행할 수 있도록 하는 약속이 맺어져 있고 통신 규약 이 존재하기 때문에
cgi 라고 하는 자 어떤 일이 가능하냐 면 자 여기에 있는 웹 서버를
아파치 어떤 것을 엔진 x 로 바꿀 수도 있구요
엔진 x 였던 것을 뭐 다른걸로 바꿀 수
뭐 iis 로 도 바꿀 수가 있는 겁니다 자 그러면서도 이 php
엔진이라는 것을 또 파이썬으로 도 바꿀 수 있고
또는 모 자 바로 도 바꿀 수 있고
자 제가 지금 설명드린 건 좀 거친 설명입니다 아주 디테일하게 는

댓글 0개

등록된 댓글이 없습니다.

본 사이트의 컨텐츠는 명시적으로 공유기능을 제공하고 있는 공개된 자료를 수집하여 게시하고 있습니다.

저작권, 강의등록, 광고, 제휴등은 "관리자에게 문의"로 메세지 주시면 확인후 답변드립니다.

Menu