본문 바로가기

Coding Note

[PHP] POST & GET

일단 간략하게 두 method에 대해 다시 알아보면,

POST
서버의 상태를 변경시킬 의도가 있는 데이터를 전송 할 때 사용한다.
전달된 데이터는 응답을 통해 반환 받을 수 있고, get방식 요청과 달리 웹 폼을 통해서만 데이터를 전송할 수 있다.
시각적인 차이는, get방식과 달리 url에 나타나지 않는다.

GET
서버의 상태를 변경하려는 의도없이, 단순히 서버에 전달하고자 할 때 사용한다. 
데이터의 양이 적을경우, url을 통해 데이터를 전달 할 수 있기때문에 유용할 때가 많다. 하지만, url에 드러나는 데이터 덕분에
보안상 post에 비해 취약하다.(injection 공격 가능성을 제공하는 격)

..
.


자기참조 스크립트의 경우, 두가지 방식 모두에 응답 할 수 있다.
스크립트가 두 방식을 구분하는 방법은, 최초 구동 방식을 통해 구분한다.

처음 다른 스크립트에서 url로 전달받았다면, get방식으로 스크립트를 사용한다. 그 후 폼의 post방식으로 데이터를
전달했다면 get방식은 잊고 post방식으로 응답한다.

즉, 전달받은 방식이 get이면 get방식에 맞게, post방식이면 post방식에 맞게 사용하여 준다.
약간 우유부단하지만, 융통성있는 스크립트랄까..?


책에서 쓰인 예는,
@   다른 스크립트에서 url을 통해 데이터를 전송한다. (<a href="***.php?id='name'&amp;pw='password'">...)
@   전달받은 데이터를 전역변수 $_GET을 통해 적절히 이용한다.
@   form의 method를 post로 하고, 자신을 참조하도록 한다.
      (<form method='post' action='<?php echo '$_SERVER['PHP_SELF']'; ?>'>...)
@   전달받은 상황을 구분하여 전역변수 $_POST를 통해 이리저리 이용한다.
      (get방식으로 받은 데이터는 못했지만, 쿼리를 통해 이리저리 맘껏!)