تفاوت دو متد GET و POST

در این مقاله قصد داریم تفاوت دو متد GET و POST رابررسی کنیم و به اختصار نحوه پیاده سازی این دو متد را شرح دهیم.

تفاوت دو متد GET و POST

GET و POST دو متد برای ارسال اطلاعات کاربر به وب سرور می باشند.به لحاظ امنیتی متد POST امنیت بیشتری دارد و به همین علت این دو متد تفاوت هایی دارند.

Get

اطلاعات کاربر از طریق URL منتقل می شود و اگر هر فرمی را ثبت کنید، اطلاعات URL برای هر کاربری قابل مشاهده می باشد. سپس اطلاعاتی که شما ارسال می کنید، در URL قابل مشاهده می باشند، و این اصلا امن نیست. یک محدودیت متد Get  این است که فقط مجاز به انتقال 1024 کاراکتر می باشیم.

مثال متد Get
یک برنامه کاربردی داریم که می خواهیم داده ها را از آن ارسال کنیم.
 
GetMethod.aspx 
<html  
    xmlns="http://www.w3.org/1999/xhtml">  
    <body>  
        <form method="get" action="GetDataUsingget.aspx">  
User Name:   
            <input id="txtuserName" type="text" name="username" />  
            <input id="btnSubmit" type="submit" value="Submit data using GET" />  
        </form>  
    </body>  
</html>  

با توجه به شکل بالا در قسمتی که نام خود را وارد می کنیم. پس از کلیک کردن روی دکمه

 "submit data using GET" داده ی ما در  صفحه ی "GetDataUsingget.aspx" نوشته می شود. همانطور که در شکل زیر مشاهده می کنید.

برای انجام این عمل از کد زیر استفاده می کنیم.

<html  
    xmlns="http://www.w3.org/1999/xhtml">  
</head>  
<body>  
    <form id="form1" runat="server">  
        <div>  
Welcome   
            <b><% Response.Write(Request.QueryString["username"].ToString()); %>  
            </b>  
        </div>  
    </form>  
</body>undefined</html> 

 Post

 در این متد اطلاعات از طریق http headers ارسال می شوند بنابراین با استفاده از پروتکل امن http داده ها امنیت بیشتری دارند.با استفاده از این متد می توان تعداد زیادی از داده ها و داده های باینری را انتقال داد وهیچ محدودیتی وجود ندارد.

مثال متد Post

<html  
    xmlns="http://www.w3.org/1999/xhtml">  
</head>  
<body>  
    <form method="post" action="PostMethod.aspx">  
      User Name:   
        <input id="txtuserName" type="text" name="username" />  
        <input id="btnSubmit" type="submit" value="Submit data using GET" />  
    </form>  
</body>undefined</html> 

 

PostMethod.aspx

<html xmlns="http://www.w3.org/1999/xhtml">  
   </head>  
   <body>  
       <form id="form1" runat="server">  
           <div>  
                  Welcome   
               <b><% Response.Write(Request.Form["username"].ToString()); %>  
               </b>  
           </div>  
       </form>  
   </body>
   undefined
</html>