English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서는 HTTP GET과 POST 메서드를 사용하여 서버로 정보를 전송하는 방법과 PHP를 사용하여 정보를 검색하는 방법을 배울 것입니다.
웹 브라우저는 일반적으로 두 가지 HTTP(텍스트 전송 프로토콜) 메서드(GET과 POST) 중 하나를 통해 서버와 통신합니다. 두 메서드는 다른 방식으로 정보를 전달하며, 각각의 장단점이 있습니다.
GET 방법에서 데이터는 URL 파라미터로 전송되며, 일반적으로 "&" 기호로 구분된 이름과 값의 쌍으로 구성된 문자열로 전송됩니다. GET 데이터를 포함한 일반적인 URL은 다음과 같습니다:
http://www.example.com/action.php?name=john&age=24
URL에서는 철자가 두드러진 부분이 GET 매개변수이고, 기울어진 글자 부분이 이 매개변수의 값입니다. URL에 여러 개의 参数=값을 연결하여 & 기호를 사용할 수 있습니다. GET 방법을 통해 전송할 수 있는 것은 단순한 텍스트 데이터만입니다.
GET 방법으로 전송되는 데이터가 URL에 표시되기 때문에 특정 쿼리 문자열 값에 대해 페이지에 책签을 추가할 수 있습니다.
GET 방법은 이름과 비밀번호와 같은 민감한 정보를 전달하는 데 적합하지 않습니다. 이러한 정보는 URL 쿼리 문자열에서 완전히 보이며, 클라이언트 브라우저의 메모리에 저장될 가능성이 있습니다.
GET 방법은 데이터가 서버 환경 변수에 할당되기 때문에 URL 길이가 제한됩니다. 따라서 전송할 수 있는 총 데이터는 제한됩니다。
PHP는 URL을 통해 전송되거나 method="GET" 방식으로 HTML 양식에서 제출된 모든 정보에 액세스할 수 있는 슈퍼 글로벌 변수 $_GET를 제공합니다。
<!DOCTYPE html> <html> <head> <title>온라인 예제 PHP GET 방법</title> </head> <?php if(isset($_GET["name"])){ echo \/p>"; } ?> <form method="get" action="<?php echo $_SERVER["PHP_SELF"];?>"> <label for="inputName">Name:</label> <input type="text" name="name" id="inputName"> <input type="submit" value="제출"> </form>
POST 메서드에서 데이터는 처리 스크립트와 함께 독립적인 통신으로 서버로 전송됩니다. POST 메서드를 통해 전송하는 데이터는 URL에서 볼 수 없습니다.
GET보다 더 안전합니다. 사용자가 입력한 정보는 결코 URL 쿼리 문자열이나 서버 로그에 보이지 않습니다.
전송할 수 있는 데이터의 양에 대한 제한이 더 크며, 텍스트 데이터와 이진 데이터(업로드 파일)를 POST를 통해 전송할 수 있습니다.
POST 메서드를 통해 전송하는 데이터는 URL에서 볼 수 없기 때문에, 특정 쿼리를 사용하여 페이지에 책签을 추가할 수 없습니다.
$_GET과 유사하게, PHP는 POST 메서드를 통해 전송하거나 method="POST"를 통해 HTML 폼을 제출한 모든 정보에 액세스할 수 있는 또 다른 전역 변수 $_POST를 제공합니다.
<!DOCTYPE html> <html> <head> <title>온라인 예제 PHP POST 메서드</title> </head> <?php if(isset($_POST["name"])){ echo "<p>Hi, " . $_POST["name"] . "</p>"; } ?> <form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>"> <label for="inputName">Name:</label> <input type="text" name="name" id="inputName"> <input type="submit" value="제출"> </form>
PHP는 또 다른 전역 변수 $_REQUEST를 제공하며, 이 변수는 $_GET와 $_POST 변수의 값을 포함하고 $_COOKIE 전역 변수의 값을 포함합니다.
<!DOCTYPE html> <html> <head> <title>온라인 예제 PHP $_REQUEST 변수</title> </head> <?php if(isset($_REQUEST["name"])){ echo "<p>Hi, " . $_REQUEST["name"] . "</p>"; } ?> <form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>"> <label for="inputName">Name:</label> <input type="text" name="name" id="inputName"> <input type="submit" value="제출"> </form>
고급 부분에서 PHP에 대해 더 알게 될 것입니다. 쿠키와폼 처리의더 많은 정보.
주의:전역 변수 $_GET, $_POST, $_REQUEST는 내장되어 있으며, 스크립트의 모든 범위에서 항상 사용할 수 있습니다.