-
[PHP] HTTP란?, Form(POST,GET) 예제프로그래밍/PHP 2019. 9. 26. 21:07
HTTP(Hyper Text Transfer Protocol)
웹 브라우저와 웹 서버가 서로 소통하기 위한 프로토콜, 통신 규약이다.
우리가 흔히 말하는 웹은 HTTP가 제공하는 서비스를 바탕으로 이루어진다.
HTTP의 동작 원리는 다음과 같다.
웹 브라우저(클라이언트)가 프로토콜에 의해 웹 서버에 데이터를 요청(request)하면 웹 서버는 이를 처리하여 결과를 웹 브라우저에 돌려준다. 이때 클라이언트에서 웹 서버로 데이터를 요청하는 방식에 POST와 GET방식이 있다.
POST 방식은 회원 가입 양식이나 게시판에 글을 쓸 때 처럼 사용자가 form 양식에 입력한 데이터를 서버로 전달할 때 사용, GET 방식은 링크를 보낼 때 URL 주소 뒤에 데이터를 입력하여 웹 서버로 전달한다.
다음은 간단한 예제와 결과이다.
POST 방식 예제
12345678910111213141516<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body><form name="form1" method="post" action="sub.php">아이디 : <input type="text" name="id"><br><br>패스워드 : <input type="password" name="pw"><br><br><input type="submit" value="확인"><input type="reset" value="취소"></form></body></html>cs 1234567891011121314<?php$id=$_POST["id"];$pw=$_POST["pw"];?><!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body><?=$id ?>님 환영합니다.</body></html>cs GET 방식 예제
12345678910111213141516<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body><form name="form1" method="get" action="sub.php">아이디 : <input type="text" name="id"><br><br>패스워드 : <input type="password" name="pw"><br><br><input type="submit" value="확인"><input type="reset" value="취소"></form></body></html>cs 123456789101112131415<?php$id=$_GET["id"];$pw=$_GET["pw"];?><!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body><?=$id ?>님 환영합니다.</body></html>cs 정리
POST방식은 패킷 헤더에 정보를 담아서 전송하기 때문에 보안성이 높고 방대한 데이터를 전송할 수 있다는 장점이 있다.
반면에 GET방식은 URL에 정보를 담아서 전송하기 때문에 보안이 취약하다는 단점이 있지만 코딩이 비교적 쉽기 때문에 데이터 전송이 쉽다는 장점이 있다.
출처 : 황재호, PHP 프로그래밍 입문, 한빛아카데미
'프로그래밍 > PHP' 카테고리의 다른 글
[PHP] 게시판 만들기 - 로그인 구현 (13) 2019.11.24 [PHP] 게시판 만들기 - DB 설계 (0) 2019.10.30 [PHP] 절대경로와 상대경로 (0) 2019.10.17 [PHP] 쿠키와 세션이란? + 예제 (0) 2019.10.10 [PHP] XAMPP, 이클립스(Eclipse) 설치하기 (0) 2019.10.04