請求方法 URL HTTP/版本號
, 好比:GET http://m.baidu.com/ HTTP/1.1
,get
請求的參數會直接追加在url上,而post請求的參數是存在請求體中)請求頭中Content-Type
的值常見的有application/x-www-form-urlencoded
和application/json
。html
瀏覽器的原生<form>
表單,若是不設置enctype
屬性,那麼最終就會以application/x-www-form-urlencoded
方式提交數據,提交的數據按照 key1=val1&key2=val2
的方式進行編碼,key
和val
都進行了URL
轉碼:前端
POST http://www.example.com HTTP/1.1 Content-Type: application/x-www-form-urlencoded;charset=utf-8 title=test&sub%5B%5D=1&sub%5B%5D=2&sub%5B%5D=3
application/json
post參數以json的形式傳送ios
POST http://www.example.com HTTP/1.1 Content-Type: application/json;charset=utf-8 {"title":"test","sub":[1,2,3]}
HTTP/版本號 返回碼 返回碼描述
, 好比:HTTP/1.1 200 OK
)Content-Encoding
用做媒體類型的修飾符,好比Content-Encoding:gzip。Content-Type
指明發送給接收者的實體正文的媒體類型。Expires實體報頭域給出響應過時的日期和時間。)跨域的方案有不少種,看了阮一峯的關於cors
文章,對cors
有了理解,cors跨域主要是要在服務端進行設置,以koa爲例json
import Koa from 'koa' import cors from 'koa2-cors' cosnt app = new Koa() app.use(cors({ maxAge: 5, credentials: true, // 發送cookie origin: 'http://localhost:8080', allowMethods: ['GET', 'POST', 'DELETE'], allowHeaders: ['Content-Type', 'Authorization', 'Accept'], exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'] })) app.use((ctx, next) => { ctx.body = 'hello' }) app.listen(3000)
前端用axios
,須要設置一下cookie
axios
axios.defaults.withCredentials = true // axios請求攜帶cookie
這樣就OK了。跨域