Post踩的坑

HTTP填坑

http(介紹) and http statusCode(狀態碼)

http://baike.baidu.com/item/http/243074?fromtitle=HTTP%E5%8D%8F%E8%AE%AE&fromid=1276942&fr=aladdin

 

四種常見的 POST 提交數據方式  body請求體
常見四種提交表單
1.application/x-www-form-urlencoded
參數拼接形式
2.multipart/x-www-form-data 
參數是二進制數據 如上傳文件
3.application/json 
參數 是json 格式
4.text/xml
參數是xml格式

詳情請參考:https://blog.csdn.net/zjxbllg2008/article/details/71937782

 

 

POST請求失敗,變成options請求

前臺跨域post請求,由於CORS(crossorigin resource share)規範的存在(瀏覽器爲了安全起見一般 POST DELETE PUT 等請求都會修改服務器資源,需要確保請求發送是安全的)瀏覽器會首先發送一次options嗅探,同時header帶上origin,判斷是否有跨域請求權限,服務器響應access control alloworigin的值,供瀏覽器與origin匹配,如果匹配則正式發送post請求。即便是服務器允許程序跨域訪問,若不支持options 請求,請求會返回400。

 

如果有服務器程序權限,設置,比如jsp中,設置header accesscontrol allow origin等於*,就可以得到跨域訪問的目的。

 

 

出現 OPTIONS 的情況一般爲:

1.   非 GET | POST 請求或者跨域請求

2.  POST 請求的 content-type 不是常規的那三個

3.  POST 請求的 payload 爲 text/xml

 

 

瀏覽器如何區分CORS的簡單請求和非簡單請求

1) 請求方法是以下三種方法之一:

HEAD

GET

POST

2)HTTP的頭信息不超出以下幾種字段:

Accept

Accept-Language

Content-Language

Last-Event-ID

Content-Type:只限於三個值application/x-www-form-urlencoded、multipart/form-data、text/plain

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章