프로그래밍/PHP
[PHP] HTTP란?, Form(POST,GET) 예제
노력의천재
2019. 9. 26. 21:07
HTTP(Hyper Text Transfer Protocol)
웹 브라우저와 웹 서버가 서로 소통하기 위한 프로토콜, 통신 규약이다.
우리가 흔히 말하는 웹은 HTTP가 제공하는 서비스를 바탕으로 이루어진다.
HTTP의 동작 원리는 다음과 같다.
웹 브라우저(클라이언트)가 프로토콜에 의해 웹 서버에 데이터를 요청(request)하면 웹 서버는 이를 처리하여 결과를 웹 브라우저에 돌려준다. 이때 클라이언트에서 웹 서버로 데이터를 요청하는 방식에 POST와 GET방식이 있다.
POST 방식은 회원 가입 양식이나 게시판에 글을 쓸 때 처럼 사용자가 form 양식에 입력한 데이터를 서버로 전달할 때 사용, GET 방식은 링크를 보낼 때 URL 주소 뒤에 데이터를 입력하여 웹 서버로 전달한다.
다음은 간단한 예제와 결과이다.
POST 방식 예제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<!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 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?php
$id=$_POST["id"];
$pw=$_POST["pw"];
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?=$id ?>님 환영합니다.
</body>
</html>
|
cs |
![](https://blog.kakaocdn.net/dn/GZYkL/btqyAaKh9PT/0x7Jnxv4sN6l2leQ4QBniK/img.png)
![](https://blog.kakaocdn.net/dn/lmEFl/btqyAuPhOC4/GJavpbDiKiGgrTOMOXTXuk/img.png)
GET 방식 예제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<!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 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?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 프로그래밍 입문, 한빛아카데미