有關 HTTP Header Content-Type

引言

當我們對 Server 發出 request 的時候
需要註明你 request 的 Content-Type
以下簡單介紹一下這些格式

測試工具

PostMan這套工具
可以模擬不同的格式資料發動 request 到你的 Server


Content-Type

application/x-www-form-urlencoded

常用的Content-Type,簡單說就是KEY-VALUE的方式
如下, KEY firstname 的值是 marsen
lastname 是由使用者輸入

1
2
3
4
5
6
<form>
First name:<br>
<input type="text" name="firstname" value="marsen"><br>
Last name:<br>
<input type="text" name="lastname">
</form>

同時資料會作一次url encoded,
產生類似下列的資料
firstname=marsen&lastname=lin&key%5b1%5d=value%5b1%5d


multipart/form-data

PostMan中的選項 binary 其實就是包成這種格式
上傳檔案會使用這種Content-Type,
這通常表示你的html element包含有 <input type="file">


其它

PostMan中的選項 raw,可以用字串組合成任意Content-Type,
參考Content-Type Table

  • application/json
    目前主流的API會用輕巧的JSON作為傳遞資訊的媒介
  • text/xmlapplication/xml
    早期標準的Web服務通常會透過xml作為交換資訊的媒介
  • text/plain
    有些email或debug的情況會使用text/plain作為Content-Type,但是一般的Request情況不建議使用
  • 更多請參考Spec

參考

(fin)