본문 바로가기

웹 개발

[1주차] GET / POST 메서드로 웹 서버에 데이터 보내기

getposttest.php라는 파일을 만들자.

 

우선 ! + tab을 이용해 html 기본 틀을 만든다.

 

1 ) GET 방식으로 보내기

 

그 다음 get 방식을 이용하기 위해 form 태그를 사용할 것이다.

<form action="get_result.php" method="get">

form 태그 안의 정보를 get_result.php로 보내는데 method는 get 방식이라는 의미이다.

 

 

<input type="text" name="id" placeholder="여기에 아이디를 치세요">
<input type="text" name="password" placeholder="여기에 비밀번호를 치세요">
<input type="submit" value="제출">

 

이제 ctrl+s로 저장 후 파이어폭스로 getposttest.php 파일을 읽으면 

 

잘 출력되는 것을 볼 수 있다.

왼쪽 창에 입력하는 것은 id로 저장될 것이고, 두 번째 창에 치는 것은 비밀번호로 저장될 것이다.

get_result.php라는 파일을 만들자.

 

getposttest.php 파일에서 name="id"라는 input 태그 에서 보내진 정보가 $_GET["id"]로 전달된다.

이 정보가 echo에 의해 뱉어질 것이다.

물론 똑같이 name="password"라는 태그에서 보내진 정보가 $_GET["password"]로 전달된다.

???? 왜 또 안돼

 

 

 

알고보니 get_result.php가 아니라 ger_result.php 라고 오타나있었다..

r을 t로 수정해주니 바로 정상적으로 데이터가 보내져서 출력되었다.

 

꺅~~

그런데 url을 가만히 보자.

get_result.php로 파일이 바뀐 건 알겠는데 ? 다음 id= 어쩌구 저쩌구 password= 어쩌구저쩌구 이렇게

바뀐 것을 볼 수 있다.

 

get 방식은 url을 통해 get으로 넘어간 정보를 표기한다는 것을 알 수 있다.

 

2) POST 방식으로 보내기

<form action="get_result.php" method="post">

원래 method="get"이었던 부분을 "post"로 수정해준다.

그 후 get_result.php도 $_GET이었던 부분을 전부 $_POST로 바꿔준다. 

 

그리고 저장 후,

웹 브라우저에서 localhost/getposttest.php를 실행해보면

 

잘 실행이 된다. 아이디와 비밀번호를 각각 써놓고 제출을 누르면,

 

 

아까랑 똑같지만 결과값으로 나온 url에서 차이가 나는 것을 볼 수 있다.

 

get 방식은 ? id= ~~~ , password= ~~~ 처럼 url이 바뀌지만

post 방식은 get_result.php로 깔끔하게 나오는 것을 볼  수 있다.

------------------------------------------------------------------------------------------------------------------------------------------

 

정리하자면,

GET 방식은 url에 parameter를 붙여서 전송하고

POST 방식은 body에 데이터를 담아서 전송한다.

 

따라서 POST 방식이 전송하는 데이터 양에 대한 길이 제한이 적어 대용량 데이터 전송에 적합하다.