Html Form Action daki Get ve Post nedir, ne işe yarar?

GET ve POST yöntemleri kullanım olarak birbirine çok benzeyen iki farklı yöntemdir. Şimdi bu yöntemlerden hangisi ne zaman kullanılır görelim.

GET :
HTTP istekleri arasındaki varsayılan yöntemdir. GET metodu genellikle tarayıcıların adres çubuğundaki isteğin (querystring) 512 karakteri geçmediği yerlerde HTML sayfası almak veya bir resim görüntülemek istendiğinde kullanılır. GET metodu ile yapılan istekler tarayıcının adres satırında görünür. Sadece belirli boyutta veri gönderileceği zaman kullanılır.

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-9"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
  <body>
    <form action="<c:url value="/loginCheck" />">
      <table border="1">
        <tbody>
          <tr><td>Username :</td><td><input type="text" name="username"/></td></tr>
          <tr><td>Password :</td><td><input type="password" name="password"/></td></tr>
        </tbody>
      </table>
      <input type="submit" value="Login" />
   </form>
   <font color=red><b>${error}</b></font><br/>
  </body>
</html>
Tarayıcının adres çubuğu aşağıdaki gibi olacaktır.
POST:
POST metodu ise URL’de görünmesini istemediğimiz veriler olduğunda, dosya yükleyeceğimiz zaman, querystring’in çok büyük olduğu durumlarda kullanılır. İstek yaparken gönderdiğimiz parametreler tarayıcıların desteklediği formatlarda olmayabilir. Örneğin Japonca bir kelimeyi ya da Arapça’da bir harfi parametre olarak gönderirken tarayıcılar bu karakterleri anladıkları formata çevirirler. Bu da genellikle uzun bir ifadeye denk gelir. Normalde kendi dilinde kısa olan bir kelime, parametre geçilirken URL’nin büyümesine sebep olur. Bu gibi durumlarda da yine POST metodunu kullanmak tavsiye edilir.

POST yönteminde gönderebileceğimiz verinin boyutu ile ilgili bir sınır yoktur. Ayrıca gönderdiğimiz parametrelerin adres satırında görünmemesi dolayısıyla GET yöntemine göre daha güvenlidir. HTML form gönderileceği zaman neredeyse her zaman POST yöntemi tercih edilir.
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-9"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
 <body></span>
  <form action="<c:url value="/loginCheck" />" method="post">
   <table border="1">
    <tbody><span style="color: #000000;"> <tr><td>Username :</td><td><input type="text" name="username"/></td></tr>
     <tr><td>Password :</td><td><input type="password" name="password"/></td></tr>
     </tbody>
   </table>
    <input type="submit" value="Login" />
 </form>
 <font color=red><b>${error}</b></font><br/>
 </body></span>
</html>
Tarayıcının adres çubuğu aşağıdaki gibi olacaktır.
Dikkat ettiyseniz isteği GET ile gönderdiğimizde adres çubuğunda parametre isimleri ve değerleri görünürken POST ile gönderdiğimizde görünmemektedir.