程序员HTTP

post与get

2016-07-01  本文已影响150人  zenggo

区别

post

指明方法为post,还有实体头部信息包含请求体的内容长度与类型(x-www-form-urlencoded表示数据被编码为名称/值对,这是标准的编码格式。)。这是请求体:uname=&pwd=&sbt=%E6%8F%90%E4%BA%A4, 乱七八糟那部分就是‘提交’中文二字的utf-8编码。PS:若是传统表单按钮<input type="submit">提交,则会把提交按钮的value加入请求体。

有时post请求的content-type并非form格式数据,还可以是json格式数据。例如$.ajax()可以指定

$.ajax({
...
contentType: "application/json; charset=utf-8",  dataType: "json",  
data: JSON.stringify(obj)
...});

此时请求体:{"uname":"","pwd":""} 。

POST 是否比 GET 安全

POST要比GET安全一点点。。。两者都是明文传送,但是GET的URL会被放在浏览器历史和WEB 服务器日志里面,query会被记录;而POST 发完基本就木有了。所以如果关键数据放在GET里面,被人偷窥了浏览器,或者WEB服务器被入侵日志被人倒去了,基本泄露可能性100%。而POST来说,日志没有记录,只要数据库服务器不被入侵,基本还是安全的。
当然如果被抓了包,这一切都没有什么卵用,所以,HTTPS该用还是得用。

使用准则

参考:post 相比get 有很多优点,为什么现在的HTTP通信中大多数请求还是使用get?

上一篇下一篇

猜你喜欢

热点阅读