亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

enctype ='multipart / form-data'是什么意思?

enctype ='multipart / form-data'是什么意思?

慕少森 2019-05-24 16:01:02
enctype ='multipart / form-data'是什么意思?enctype='multipart/form-data'HTML表單中的含義是什么?我們何時應該使用它?
查看完整描述

4 回答

?
九州編程

TA貢獻1785條經驗 獲得超4個贊

當您發出POST請求時,您必須以某種方式對構成請求主體的數據進行編碼。

HTML表單提供三種編碼方法。

  • application/x-www-form-urlencoded (默認)

  • multipart/form-data

  • text/plain

正在進行添加工作application/json,但這已被放棄。

(使用除HTML表單提交之外的其他方式生成的HTTP請求,可以進行其他編碼。)

格式的細節對大多數開發人員來說無關緊要。重點是:

  • 切勿使用text/plain。

在編寫客戶端代碼時:

  • 使用multipart/form-data時,你的形式包括任何<input type="file">元素

  • 否則,你可以使用multipart/form-dataapplication/x-www-form-urlencoded,但application/x-www-form-urlencoded效率會更高

在編寫服務器端代碼時:

  • 使用預先編寫的表單處理庫

大多數(例如Perl CGI->param或PHP的$_POST超全局公開的那個)將為您處理差異。不要費心去解析服務器收到的原始輸入。

有時你會發現一個無法處理這兩種格式的庫。Node.js用于處理表單數據的最流行的庫是body-parser,它不能處理多部分請求(但是有文檔推薦一些替代方案可以)。


如果您正在編寫(或調試)用于解析或生成原始數據的庫,那么您需要開始擔心格式。您可能還想了解它的利益。

application/x-www-form-urlencoded 與URL末尾的查詢字符串大致相同。

multipart/form-data更復雜但它允許整個文件包含在數據中??梢栽?a >HTML 4規范中找到結果的示例。

text/plain由HTML 5引入并且僅用于調試 - 來自規范它們不能被計算機可靠地解釋 - 我認為其他的與工具相結合(如大多數瀏覽器的開發人員工具中的Net選項卡)更好為了那個原因)。


查看完整回答
反對 回復 2019-05-24
?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

enctype='multipart/form-data是一種允許通過POST發送文件的編碼類型。很簡單,沒有這種編碼,文件無法通過POST發送。

如果要允許用戶通過表單上載文件,則必須使用此enctype。


查看完整回答
反對 回復 2019-05-24
?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

提交表單時,您告訴瀏覽器通過HTTP協議發送網絡上的消息,該消息正確地包含在TCP / IP協議消息結構中。HTML頁面有一種向服務器發送數據的方法:使用<form>s。

提交表單時,如果創建了HTTP請求并將其發送到服務器,則該消息將包含表單中的字段名稱和用戶填寫的值。這種傳輸可以發生POSTGET HTTP方法。

  • POST 告訴您的瀏覽器構建一條HTTP消息并將所有內容放在消息正文中(一種非常有用的方式,更安全,更靈活)。

  • GET將在查詢字符串中提交表單數據。它對數據表示和長度有一些限制。

說明如何將表單發送到服務器

屬性enctype只有在使用POST方法時才有意義。指定后,它會指示瀏覽器通過以特定方式對其內容進行編碼來發送表單。來自MDN - 表格enctype

當method屬性的值為post時,enctype是用于將表單提交給服務器的MIME內容類型。

  • application/x-www-form-urlencoded:這是默認值。發送表單時,將收集所有名稱和值,并對最終字符串執行URL編碼。

  • multipart/form-data:字符不編碼。當表單具有文件上載控件時,這很重要。您希望發送文件二進制文件,這可確保不改變比特流。

  • text/plain:空格被轉換,但不再執行編碼。

安全

提交表單時,可能會出現一些安全問題,如RFC 7578第7節:多部分表單數據中所述 - 安全注意事項

所有表單處理軟件都應該
靈敏地處理用戶提供的表單數據,因為它通常包含機密或個人
識別信息。在Web瀏覽器中廣泛使用表單“自動填充”功能; 這些可能用于欺騙用戶
在完成其他
無害任務時不知不覺地發送機密信息。multipart / form-data不提供任何
檢查完整性,確保機密性,避免用戶
混淆或其他安全功能的功能; 這些問題必須
通過表格填寫和表格數據解釋應用程序來解決。

接收表單并處理表單的應用程序必須小心,不要將數據提供回不打算發送的請求表單處理站點。

在解釋Content- 
Disposition頭字段的文件名時,重要的是不要無意中覆蓋
收件人文件空間中的文件。

如果您是開發人員,并且您的服務器將處理用戶提交的表單(可能最終包含敏感信息),則會引起您的注意。


查看完整回答
反對 回復 2019-05-24
  • 4 回答
  • 0 關注
  • 1916 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號