首頁 web前端 html教學 Form表單中method=post/get兩種資料傳輸的方式的差異_HTML/Xhtml_網頁製作

Form表單中method=post/get兩種資料傳輸的方式的差異_HTML/Xhtml_網頁製作

May 16, 2016 pm 04:40 PM
form get post

Form提供了兩種資料傳輸的方式-get和post。雖然它們都是資料的提交方式,但是在實際傳輸時確有很大的不同,並且可能會對資料產生嚴重的影響。雖然為了方便的得到變數值,Web容器已經屏蔽了二者的一些差異,但是了解二者的差異在以後的程式設計也會很有幫助的。

Form中的get和post方法,在資料傳輸過程中分別對應了HTTP協定中的GET和POST方法。二者主要差異如下:

1、Get是用來從伺服器取得數據,而Post是用來傳遞資料到伺服器。

2、Get將表單中資料的依照variable=value的形式,加入action所指向的URL後面,並且兩者使用「?」連接,而各個變數之間使用「&」連接; Post是將表單中的資料放在form的資料體中,依照變數和值相對應的方式,傳遞到action所指向URL。

3、Get是不安全的,因為在傳輸過程,資料被放在請求的URL中,而如今現有的許多伺服器、代理伺服器或使用者代理都會將請求URL記錄到日誌檔案中,然後放在某個地方,這樣就可能會有一些隱私的資訊被第三方看到。另外,使用者也可以在瀏覽器上直接看到提交的數據,有些系統內部訊息將會一同顯示在使用者面前。 Post的所有操作對使用者來說都是不可見的。

4、Get傳輸的數據量小,這主要是因為受URL長度限制;而Post可以傳輸大量的數據,所以在上傳文件只能使用Post(當然還有一個原因,將在後面的提到)。

5、Get限制Form表單的資料集的值必須為ASCII字元;而Post支援整個ISO10646字元集。

6、Get是Form的預設方法。

使用Post傳輸的數據,可以透過設定編碼的方式正確轉換中文;而Get傳輸的數據卻沒有變化。在以後的程序中,我們一定要注意這一點。

_________________________________________________________________________________________________

1、Get 方法透過URL 請求來傳遞使用者的數據,將表單內各欄位名稱與其內容,以成對的字串連接,置於action 屬性所指程式的url 後,如http://www.mdm.com/test.asp?name=asd&password=sad,資料都會直接顯示在url 上,就像使用者點擊一個連結一樣;Post 方法透過HTTP post 機制,將表單內各欄位名稱與其內容放置在HTML 表格頭(header)內一起傳送給伺服器端交由action 屬性能所指的程式處理,該程式會透過標準輸入(stdin)方式,將表單的資料讀出並加以處理

2、 Get 方式需要使用Request.QueryString 來取得變數的值;而Post 方式透過Request.Form 來存取提交的內容

3、Get 方式傳輸的資料量非常小,一般限制在2 KB 左右,但是執行效率卻比Post 方法好;而Post 方式傳遞的數據量相對較大,它是等待伺服器來讀取數據,不過也有字節限制,這是為了避免對伺服器用大量資料進行惡意攻擊,根據微軟方面的說法,微軟對用Request.Form() 可接收的最大資料有限制,IIS 4 中為80 KB 字節,IIS 5 中為100 KB 位元組

建議:除非你肯定你提交的數據可以一次性提交,否則請盡量用Post 方法

4、Get 方式提交數據,會帶來安全問題,比如一個登陸頁面,通過Get 方式提交數據時,使用者名稱和密碼將出現在URL 上,如果頁面可以被快取或其他人​​可以存取客戶這台機器,就可以從歷史記錄取得該使用者的帳號和密碼,所以表單提交建議使用Post 方法;Post 方法提交的表單頁面常見的問題是,該頁面如果刷新的時候,會彈出一個對話框

建議:出於安全性考慮,建議最好使用Post 提交數據

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1671
14
CakePHP 教程
1428
52
Laravel 教程
1331
25
PHP教程
1276
29
C# 教程
1256
24
如何使用PowerShell自動執行任務 如何使用PowerShell自動執行任務 Feb 20, 2024 pm 01:51 PM

如果您是IT管理員或技術專家,您一定意識到自動化的重要性。尤其對於Windows用戶來說,MicrosoftPowerShell是最佳的自動化工具之一。微軟為滿足您的自動化需求提供了各種工具,無需安裝第三方應用程式。本指南將詳細介紹如何利用PowerShell自動化執行任務。什麼是PowerShell腳本?如果您有使用PowerShell的經驗,您可能已經使用過命令來設定您的作業系統。腳本是.ps1檔案中這些指令的集合。 .ps1檔案包含由PowerShell執行的腳本,例如基本的Get-Help

python requests post如何使用 python requests post如何使用 Apr 29, 2023 pm 04:52 PM

python模擬瀏覽器發送post請求importrequests格式request.postrequest.post(url,data,json,kwargs)#post請求格式request.get(url,params,kwargs)#對比get請求發送post請求傳參分為表單( x-www-form-urlencoded)json(application/json)data參數支援字典格式和字串格式,字典格式用json.dumps()方法把data轉換為合法的json格式字串次方法需要

java如何發起http請求呼叫post與get接口 java如何發起http請求呼叫post與get接口 May 16, 2023 pm 07:53 PM

一、java調用post介面1、使用URLConnection或HttpURLConnectionjava自帶的,無需下載其他jar包URLConnection方式調用,如果介面回應碼被服務端修改則無法接收到返回報文,只能當回應碼正確時才能接收到回傳publicstaticStringsendPost(Stringurl,Stringparam){OutputStreamWriterout=null;BufferedReaderin=null;StringBuilderresult=newSt

淺析php中POST方法帶參數跳轉頁面 淺析php中POST方法帶參數跳轉頁面 Mar 23, 2023 am 09:15 AM

對於PHP開發者來說,使用POST帶參數跳轉頁面是一項基本技能。 POST是HTTP中一種發送資料的方法,它可以透過HTTP請求向伺服器提交數據,跳轉頁面則是在伺服器端進行頁面的處理和跳轉。在實際開發中,我們經常需要使用POST帶參數來跳轉頁面,以達到一定的功能目的。

NGINX反向代理對HTML頁面的POST請求回傳405怎麼解決 NGINX反向代理對HTML頁面的POST請求回傳405怎麼解決 May 22, 2023 pm 07:49 PM

實作如下:server{listen80;listen443ssl;server_namenirvana.test-a.gogen;ssl_certificate/etc/nginx/ssl/nirvana.test-a.gogen.crt;ssl_certificate_key/etc/nginx/test-a.gogen.crt;ssl_certificate_key/etc/nginx/ssl/nirvana.testssl/ .key;proxy_connect_timeout600;proxy_read_timeout600;proxy_send_timeout600;c

PHP跳轉頁面並攜帶POST資料的實作方法 PHP跳轉頁面並攜帶POST資料的實作方法 Mar 22, 2024 am 10:42 AM

PHP是一種廣泛應用於網站開發的程式語言,而頁面跳躍並攜帶POST資料是在網站開發中常見的需求。本文將介紹如何實現PHP頁面跳轉並攜帶POST數據,包括具體的程式碼範例。在PHP中,頁面跳躍一般透過header函數實現。如果需要在跳轉過程中攜帶POST數據,可以透過以下步驟完成:首先,建立一個包含表單的頁面,使用者在該頁面填寫資訊並點擊提交按鈕。在表單的acti

php怎麼判斷post有沒有提交 php怎麼判斷post有沒有提交 Mar 21, 2023 pm 07:12 PM

PHP是一種廣泛使用的伺服器端腳本語言,它可以用於建立互動式和動態的網路應用程式。在開發PHP應用程式時,我們通常需要透過表單將使用者輸入資料提交給伺服器端處理。然而,有時候我們需要在PHP中判斷是否有表單資料被提交,這篇文章將介紹如何進行這樣的判斷。

PHP程式碼範例:如何用POST方式傳參並實現頁面跳轉 PHP程式碼範例:如何用POST方式傳參並實現頁面跳轉 Mar 07, 2024 pm 01:45 PM

標題:PHP程式碼範例:使用POST方式傳參並實現頁面跳轉的方法在Web開發中,經常涉及如何透過POST方式傳遞參數,並在伺服器端進行處理後實現頁面跳轉的需求。 PHP作為一種流行的伺服器端腳本語言,提供了豐富的函數和語法來實現這一目的。以下將透過一個實際的範例來介紹如何使用PHP來實現這項功能。首先,我們需要準備兩個頁面,一個用來接收POST請求並處理參數

See all articles