생활코딩 입력과출력 GET VS POST > PHP

PHP

PHP Web Programming 강의 리스트

생활코딩 | 입력과출력 GET VS POST

본문

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

 예 이전 시간에 우리가 살펴본 내용은

어 데이터를 전송하는 방법 예 데이터를
어 사용자의 데이터를 2p 집 애플리케이션의 입력하는 방법을 알아 봤구요
자 이번 시간에 살펴볼 것은 이겁니다
객 방식과 포스트 방식의 차이 점 에 대해서 살펴보는 것이 이번 시간에
목표입니다
어 지금까지 우리가 데이터를 서버 쪽에 전송할 때 사용했던 방식은
이거였습니다 갭 방식이에요 그리고 이번에 살펴볼 것은 포스트 방식입니다
자객 방식은 무엇이냐면 자 이렇게 보시는 것처럼 어떠한 정보를 서버로
전송할 때 url 뒤에
달러 를 붙인 판이 물음표를 붙이고 그 안에다가 데이터를 기술 해서 서버
쪽 으로 전송하는 방법 2개 방식입니다
그래서 2개 방식의 특징은 보시는 것처럼 ur 회상의 서버로 전송하는
데이터 가 포함이 되어 있다 라는 특징을 갖고 있습니다
그런데 포스트 방식의 데이터는
포스트 방식으로 데이터를 전송하게 되면 자 지금 여러분들이 보셨던
요거 있죠 요게 없이 서버 쪽으로 데이터가 전송이 됩니다
저기 있는 요 값 까요 값을 서버로 똑같이 전송할 수 있는데
유아 렐의 이미 이렇게 유아 레라 데이터를 적어 적지 않고 도 서버
쪽으로 전송을 할 수가 있어요
그런데 어떻게 그게 가능하냐 유아 렐의 정보를 적지 않은데 어떻게
가능하냐
그래 설명 드리기 위해서는 이 서버와 클라이언트가 커뮤니케이션할 때
사용하는 프로토콜이 뭐라고 했죠 제가
기억나시죠 자 http 라고 하는 프로토콜을
열어 봐야 됩니다 걸 열어봐야 지만 실제로 포스트 방식으로 데이터를
전송하는
그 흐름이 보이기 때문에 우리가 hd 피하고 하는 프로토콜의 대부도 살짝
살펴볼 겁니다 자 그러면 어 실제로 그 프로토콜의 내부 또 포스트 방식이
무엇인가
이런 것들을 우리가 디테일하게 살펴보기에 앞서서
우리가 지금까지 만들었던 애플리케이션을
조금 변경해서 포스트 방식을 사용해서 사용자의 정보를 서버 로 전송하도록
어 애플리케이션을 좀 바꿔 보죠
자 우리는 두 개의 어
애플리케이션을 가지고 있죠 자 하나는
html 이고요 또 하나는
php 애플리케이션입니다 자의 html 문서에 역할은 데이터를 전송하는
것이고요
php 역할은 전송된 데이터를 수신 하는 역할이 줘
즉 우리가 개 방식으로 지금까지 데이터를 전송하고
전송 했는데 자 포스트 방식으로 데이터를 전송하기 위해서는
자 전송하는 쪽과 수신 한쪽 모드 포스트 방식으로 데이터를 전송할 수
있도록 코드 상에 수정의 필요합니다
말씀 많진 않아요 자 여기 보시면
여기 메쏘드 라고 적혀 있는것 보이시죠 이제 요거 까지 설명드리면 이
html 에 있는 내용은 다 설명 드리는 겁니다
저 메소드는 뭐죠 방식 이라는 뜻입니다 방식 방법
자 뭐에 방법일까요 데이터
아이고 쪽박 전송
방식 방법 이란 뜻입니다 기존의 여기에 뭐가 있었냐 하면 게시 있었는데
저는 포스트로 변경을 한 겁니다
예 그렇게 해서 여러분이 포스트로 여기 있는 내용을 변경하면 요 html
문서는 포스트 방식으로 데이터를 전송할 준비가 된겁니다
자 마찬가지로 자 저는 어 아까 우리가 사용했던 그 php 애플리케이션
코드를 그대로 가져온 건데
요기가 바뀌었습니다
이렇게
예 버티게 바뀌었네요 아까는
대문자 계셨는데 지금은 포스트로 바뀌었고 아까는 대문 짜 계셨는데
마찬가지로 포스트 로 바꿨습니다
자 이거 를 통해서 우리가 알 수 있는 건 뭐냐 어 여기에 있는 요것이
이게 뭔지는 나중에 배운다 고 했어요
어 계시 라고 적혀있으면 갯수로 넘어오는
이름이디인 값을 받는 것이고 이것을 포스트로 하게 되면
이름이디인 값 중에 포스트 방식으로 전송되는 데이터를 받는다 라고
하는 것을 알 수가 있죠
즉 어떤 방식으로 데이터를 수신 했느냐에 따라서 여러분이 받을 수 있는
방법이 달라집니다 라는 것을 이 기억을 하셔야 됩니다
자 그럼 동작하는 것을 결과적으로 얹어 한번 살펴보시죠 방금 그 파일을
자 였구요 자 여기에다가 제가
이거 elle 엘 1 이라고 입력하고 질이 보내기를 하면 보시는 것처럼
화면에
출력 됐죠 자 그런데 정말로 아까와는 다르게 아무것도 붙어있지 않은
깔끔한 4점 php 만 출력되고 있습니다
자 그 이유는 우리가
포스트 방식으로 데이터를 전송하고
어 데이터를 받았기 때문에 그렇습니다
자 포스트 방식이 무엇인가를 설명하기 위해서는
어여 기 이렇게 뒤에 url d 아무것도 붙지 않았던 거 확인 하셨죠
그렇기 때문에 어 데이터가 실제로 어디로 들어가는가 가 사용자에겐 감춰
집니다
바로 그러한 특성으로 인해서 포스트 방식은
2개 방식보다 더 보안성이 좋다 라고 할 수 있습니다
물론 실제로 포스트 방식은 개방식 이건
이 서버쪽 으로 전송되는 데이터가 노출된다는 점에서 기술적으로 는 사실은
큰 차이는 없습니다만 최소한 엔드 유저 유아 레를 보는 사용자에게
데이터가 노출되지 않는다는 점에서는 확률적 으로 어떠한 공격에 노출될
확률이 낮아진다는 점에서 보안 쪽으로 이 포스트 방식이 더 유리한
방식이라고 볼 수가 있어요
자 그럼 포스트 방식의 어떻게 동작하는 응가를 살펴보기 위해서 제가
http
프로토콜의 내부를 지금부터 살펴볼 겁니다 왜냐하면 이 포스트 방식이
데이터를 전송할 때는
http 프로토콜 레브 즉 내부적으로
이 동작하고 있기 때문에 그렇습니다
자 지금 제가 실행한 요 프로그램은
어 피들러 라고 하는 프로그램입니다
자 이런 이름을 가지고 있고요 여러분이 이 프로그램이 궁금하시면
인터넷에서 검색해 보시면 됩니다 자 이 프로그램이 하는 역할은
서버
클라이언트 사이에 주고받는
통신의 내용
우리는 지금 맵을 보고 있기 때문에 그 통신은 http 라고 하는 이
규칙 atp 라고 하는 동신 약속을 따르고 있겠죠
자의 통신 내용을 여러분들이 열람할 수 있게 하는 프로그램이 이 피들러
라고 하는 겁니다
여러분들이 쓰고 계신 이 브라우저의 도 이것과 유사한 기능을 제공하고
있는
어 기본적으로 탑재되고 있는 프로그램이 있습니다
그거 보시면 되겠는데 제가 피들러 를 쓴 이유는
어 로 레벨의 아주 hp mp http 프로토콜 그대로를 여러분들에게
보여드리기 위해서
전 피들러 라는 프로그램을 어 실행을 시킨 겁니다
자 그럼 이 프로그램이 실행된 상태에서
제가 요 위에 있는 요 브라우저의 에
브라우저를 리프레쉬 를 해보겠습니다
자 어때요 뭐라고 표시가 되나요
자 보시는 것처럼
포스트 호스트는 인터넷에 접속되어 있는 컴퓨터들의 호스트 라고 부릅니다
저는 로컬 호스트 라고 하는 도메인의 위치하고 있는 컴퓨터에 접근하고
있고요 그리고 http 프로토콜로 접근하고 있다
hp hp 프로토콜로 통신 하고 있다 라는 뜻이고
제가 접근한 유아 렐은 / i5 언더와 폼 / 3 점 html 이란
파일을 웹 서버에게 요청하고 있다 라는 내용이 여기에 이렇게 간략하게
보이고 있습니다
작은 데요 것만으로 http 프로토콜을 여러분들이 보기가 힘듭니다 그래서
제가
화면에 더 키우고 화면에 대한 내용을 조금 설명해 드릴게요
자 보시면 위의 가 있고 아래가 있습니다
자 우리는 서버가 있고
서버 가 있고
클라이언트가 있죠 자 클라이언트는 브라우저 고 브라우저 유아를 url 을
입력하고 엔터를 땅 쳤을 때 우리는 서버 에게 달려 갑니다
그러면 서버 는 이 브라우저가 요청한 정보를
돌려 주죠 그 때 클라이언트와 서버 가 서로 교신할 때 사용하는
어야 약속 이 바로 프로토콜이 라고 하는 것이고
얘들이 사용하는 구체적인 프로토콜은 바로 http 라고 하는 것이죠
그러면 구체적으로 클라이언트는 서버에게 어떠한 정보를 전송하고 서버는
클라이언트에게 어떠한 정보를 전송하는 지 궁금하지 않으세요
자 근데 지금 제가 설명 된거 상당히 복잡한 얘기 입니다 그렇기 때문에
얘기 이해 못해 저도 이 뒤에 나오는 수업 듣는데 거의 지장이 없습니다
그렇기 때문에 이해하시면 축하드리고요
이해가 안되면 나중에 완주 하신 다음에 한번더 들으시면 무조건 이해가 될
겁니다
그 저를 믿으시고 이거 잘 이해 안가도 걱정하지 않으셔도 됩니다
자 그래서 그 내용을 한번 보자는 거예요
브라우저가 서버에 전송하는 내용과 서버가 클라이언트의 전송하는 실제로
http 프로토콜이 어떻게 생겼는가 를 보자는 겁니다 자 살펴볼게요
자 여기 있는 로우를 클릭하면 클릭하면 이 밑에 있는 것이 위에 있는
것이 이 브라우저 고
밑에 있는 것이 서버 입니다
자 제가 순서를 조금 바꿔서 썼네요 아예 아쉽습니다
잠 이유에 있는게 클라이언트 고 요 밑에 있는 것이 서버 입니다
그리고 클라이언트가 서버에 요청을 보낼 때에 클라이언트가 서버로 전송하는
메시지가 바로 요 겁니다
2 로우 를 눌렀을 때 나오는 이거요
그러면 서버는 클라이언트가 보낸 멧세지
제가 방금 말씀드린 적 메세지를 받은 다음에 서버 는 어떤 일을 하냐면
어 바로 요 밑에 있는 요 멧세지 있죠
요거 를 클라이언트로 보내주는 거에요
자 그러면 클라이언트가 서버로 보내는 메세지가 뭔가를 살펴볼까요
자 제일 먼저 뭐가 나와요 게시 나옵니다
우리의 주인공 게시 나왔어요 즉 여기 있는 요 http 프로토콜의 져
메세지는 정보는
객 방식으로 작성된 데이터 다 라는 뜻입니다
자 그 뒤에 따라오는 요 정보는 뭐냐면
자 여기에 있는 요 주소로 이 데이터를 전송할 것이다 라는
주소가 여기 표시가 되어 있습니다 자 그리고 그 다음에 나오는 건 뭐냐면
현재 요 데이터가
http 프로토콜 이란 뜻이고
그리고 http 프로토콜은 역사적인 이후로 여러 가지 의 버전이 있습니다
그중에서
1.1 이라고 하는 버전을 버전의 의해서
버전에 맞게 그 버전을 준수하고 있는 정보다 라는 뜻입니다
자 그 다음에 몇가지 좀 알아볼 만한 것은 뭐가 있냐면
자 여기 유저 에이전트 라고 적혀 있죠 유저 에이전트를 은 웹브라우저의
랑 통 같은 말입니다 이거는
그리고 이 뒤에 따라 뒤에 있는건 뭐냐면 이 웹 브라우저는 모질라 에서
만든 것이고 그리고 윈도우 에서 동작하고 있고 뭐 개코 라고 하는 이
파이어 폭스 엔진을 쓰고 있고 그리고 파이어폭스 2라는 버전을 쓰고
있다
2가만 파악 투스 버전일 거에요 고 정보도 클라이언트가 서버 로
전송하고 있는 겁니다
그래서 여러분들 그 트래픽 분석하는 프로그램 같은 것들 보신적이 있을
수도 있는데 나중에 볼 기회가 있을 겁니다
그 트래픽 분석하는 프로그램들이 이 사이트로 접속하고 있는 브라우저의
종류 몇 퍼센트 그 각각의 브라우저의 비율 그런 것들을 통계 낼 수 있는
이유는 바로 이런 정보를 클라이언트가 서버로 전송하기 때문에 그래요 그
뒤에 있는 여러가지 정보들이 있지만 이거 다 알 필요는 없습니다
아시겠죠 자 그러면
자 그러면 이러한 정보들을
받은 서버 정확하게는 웹서버 줘
웹서버는 어떤 웹서버는 여기서 요청하는 3 점 html 이란 파일을
읽어서 그 결과를 클라이언트로 다시 보내 줍니다
그때 어떤 메세지를 보내 주는 지를 살펴보죠
자바로 요걸 보내줍니다 어때요
그리고 http
응답 멧세지
내용이 바로 요 겁니다
그리고 그 안에 뭐가 있어요
3 점 html 이라고 하는 저 파일의 내용이 2 http 문서 안에
들어 있는 겁니다
요 내용을
서버가 클라이언트에게
다시 말해서 브라우저에게 전송하면 브라우저는 여기 있는 욥의 쎄지
전체에서
이 html 문서에 해당되는 부분을
추출해서 쪼개 내서 그 내용을 가지고
웹페이지를 만들어 내게 되는 겁니다 자 그리고 그 위에 있는 이 부분이
있죠
자요 만큼 보고 이건 뭐냐면
어 서버가 웹 서버가 클라이언트에게 전달하는
어 여러가지 부가적인 정보 드립니다
자 http 1.1 버전으로 응답하게 따라 는 것이고 200 이라고 하는
것은 이 정상적으로
요청을 받았고 정상적으로 데이터를 보내주겠다 는 뜻입니다
만약에 이 웹페이지가 웹브라우저가 요청을 했는데
3 점 html 이란 파일이 존재하지 않으면
여기에 있는 200 이라고 하는 숫자는 202 아니라 40가 뜹니다
여러분께 가끔 404
나 파운드 란 걸 본 적이 있어요
사우스 지금 제가 보여드릴 게 없으면
자세가 존재하지 않는 페이지를 요청하면
나 파운드가 뜨 조 이나 파운드가 바로 파일이 존재하지 않는다는 뜻이고
나 파운드 인 경우에는 요괴 응답 메세지의 200 대신에
402 뜨게 됩니다 404
예 약속되어 있는 거에요
그 다음에 여기 보시면 응답한 서버가 웹서버가 아빠 칠하는 게 나오죠
요걸 통해서 우리가 어떤 사용
그 어떤 서버가 지금 동작하고 있는지도 알 수가 있는 거고요
그런겁니다 이 뒤에 있는 것들은 복잡한 내용이기 때문에 지금 모르셔도
아무 문제가 없습니다
중요한 것은 이 http 라고 하는 것이 무엇인가에 대해서 너무
추상적으로 느끼지 않도록 제가 http 메세지를 정말로 보여드린 거에요
이건 응답할 때 멧세지 고
이건 요청할 때 멧세지 입니다 어때요
직접 텍스트를 보니까 조금 더 구체적인 느낌이 되죠
어쩌면 더 어렵게 느껴지실 수도 있죠 어렵게 느껴지시면 얘기 이전
어디 저수 상관없습니다
자 그러면 여기에 있는 요 html 문서가 http 프로토콜의 메세지로
서버 서버에서 클라이언트로 전송 인해서 브라우저가 얘를 출력해 준 결과가
바로
이 거죠 여긴 요 웹페이지를 보여준 겁니다
자 그럼 제가 여기 있는 요 위에 있는 이 웹 페이지에서
질이 보내기 를 하게 되면 어떻게 여기가 어떻게 되는지 한번 보세요
그리고 다시 5
찌질이 보내기를 하면 한 줄 더 추가 됐죠 근데 추가되었는데 아까랑 은
내용이 좀 다릅니다
어때요 여기가 4점 ph 필요 됐죠
바로 요 겁니다 즉 브라우저가 서브 이 버튼을 눌렀을 때 서버로 데이터를
전송하는데 4점 php 라고 하는 php 애플리케이션으로 데이터를 전송해
딴 뜻입니다
자 그러면 서버 클라이언트 사이에 어떤 통신을 하는지 또 살펴 봐야겠죠
자 여기 있는 것을 선택하면 이렇게 화면이 분할이 되는데
자 위에 있는 것은 클라이언트가
서버 에게 보내주는 내용이고
밑에 있는 것은 서버가 클라이언트에게 응답하는 거라고 말씀 드렸잖아요
그런데 html 3 집니다
자 그러면 내용을 한번 보죠 여기 보시면
요 메시지의 http 메시지의 보시면 제일 끝에
요 정보가 적혀 있습니다 이 정보가 뭐죠 바로 우리가 찾고 있었던 폼에
입력된 사용자의 입력 정보가 바로 http
멧세지 안에
요렇게 숨을 이렇게 숨겨진 상태로 클라이언트에서 서버로 전송되고 있다는
것이죠 그러면 서버는
아빠 치죠 정보를 받았는데 지금 요청한 파일이 4점 php 줘
아파치는 php 확장자 로 끝난 애플리케이션 처리 할 수 없죠
그러면 php 엔진 에게 위임을 하고 php 엔진이 해석을 한 다음에
결과를 만들어내고 아파치 로 보내 준 결과가 바로 이겁니다
그럼 아파치는 요 결과를 php 가 제공해준 요 결과와
자요 http
정보를 hp 정보를 결합해서
https 응답 메시지를 이렇게 만들어 내고 그것을 클라이언트로 다시
전송하는 겁니다 그러면 클라이언트 임 브라우저는 져 정보를 받아서 화면에
출력을 하기 때문에 그 결과인 이것이
요렇게 과 면에 출력되게 되는 겁니다
아시겠죠 그래서
바로 이러한 차이로 인해서 우리는 어느 때 http 를 쓰고 어느 때
아 제거 미타 자 이러한 차이로 인해서 어느 때 우리가 포스트 방식을
쓰고 어느 때 우리가 개 방식을 쓰는 지에 대해서 여러분들이 판단하실 수
있어야 돼요 웹개발자 라고 한다.면
자 그럼 어떻게 하는 것이 바람직 할까요 일단 우리가 아까 살펴 봤었던
이 서버쪽 으로
이 사용자의 아이디와 비밀번호를 전송하는 방법은 포스트 방식을 쓰셔야
됩니다 이건 개설 쓰시면 안되요 제가 이해를 돕기 위해서 개선 썻던
거에요
자 어떤 문제가 발생할 수 있을까요 얘를 개 방식으로 하게 되면
자가 장씨 여러가지 문제가 있을 수 있는데 질이 보내기로 했어요
그리고 url 이 url 은 요렇게 아이디어 패스워드가 포함 된다는 거죠
근데 사용자가 아무것도 모르고
여기있네요 정보가 무슨 뜻인지도 모르고 무심코 여기 있는 주소를 유아를
카피해서
다른 사람한테 링크를 걸거나 자식 소셜네트워크에 달 링크를 얼거나 그렇게
하는 실수를 할 수가 있겠죠 그러면 그 링크를 본 사람들은 아 이거 일한
사람은 일 이라는 패스워드를 쓰는구나 다름을 알 수 있다라는 겁니다
이거 굉장히 심각한 보안이

댓글 0개

등록된 댓글이 없습니다.

Total 93건 6 페이지

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

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

Menu