HTTP 协议定义了一系列的request方法:
GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS、CONNECT,其中GET和POST是应用最多的,网页中的表单的提交都用GET或POST请求方式。
GET请求方法用于信息获取,而且应该是安全的和幂等的。
1、所谓安全的意味着该操作用于获取信息而非修改信息。
2、幂等的意味着对同一URL的多个请求应该返回同样的结果。
例如:发送一个GET请求,服务器可以返回一个网页内容,总之,就是获取内容。
POST请求方法可能改变服务器上的资源。
例如:在blog最后进行评论,可以通过POST的请求方法将评论进行提交,之后网页中会显示评论的内容。
在表现上,通过GET方式进行的请求,在浏览器的地址栏中会显示URL以及提交的数据,并以?来分割URL和传输数据,多个参数用&连接。
而通过POST方式进行的请求,提交的数据会被包裹在HTTP包的体内。
因此,从安全性上来说,POST会比GET更安全,不容易泄漏用户信息。
举个例子来说,像在百度中进行搜索时,当点击百度一下之后,地址栏中会出来一串东西,而在“?”之后,有不少参数,搜索的关键字会被显示在地址栏中,浏览器若设记录历史,那么很容易让人别知道你查过什么,从而得知你的搜索爱好,譬如:波多野吉衣啦,哈哈!!
Content Negotiation是个好东西。
HTTP支持客户端与服务器端的协商,客户端可以利用附加的request headers,如Accept, Accept-Lanuage, Accept-Charset, Accept-Encoding来告诉服务器端它更倾向于的content。如果服务器端可以提供同一文件的不同格式的多种版本,它会返回给客户端更倾向于的那种。
more:
HTTP POST GET 本质区别详解
In Introduction to HTTP Basics
分享到:
相关推荐
Ext.Ajax.request是ExtJS提供的一种发起Ajax请求的方式,它允许开发者向服务器发送异步HTTP请求。然而,由于浏览器的同源策略限制,跨域请求需要特别处理。这篇博客文章可能详细介绍了如何在ExtJS应用中解决这个问题...
可以通过搜索`NGX_HTTP_*`这样的关键字来查找所有相关的条件判断语句,例如搜索`NGX_HTTP_TRACE`可以在`ngx_http_request.c`文件中找到限制性语句。 ##### 4. 重新编译Nginx 修改完成后,需要重新编译Nginx。在源码...
import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClients; public class MyJavaRequest { public String runRequest() throws Exception { HttpClient client = ...
在“learn-vue-http-request”项目中,我们主要探讨的是如何在Vue.js应用程序中进行HTTP请求,这是现代前端开发中的核心技能。Vue.js是一个轻量级的JavaScript框架,以其灵活性和可扩展性受到广大开发者喜爱。HTTP...
import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.ssl.SSLSocketFactory; import ...
import org.apache.http.client.methods.HttpGet import org.apache.http.impl.client.CloseableHttpClient import org.apache.http.impl.client.HttpClients CloseableHttpClient httpClient = HttpClients....
(request methods)进行扩展,可以被用于多种用途,比如命名服务器(name server)及分 布式对象管理系统。HTTP的一个特性是其数据表现类型允许系统的构建不再依赖于要传输 的数据。 HTTP自从1990年就在WWW上被广泛...
在Flask框架中,`before_request`装饰器是一种强大的工具,用于在每个HTTP请求处理之前执行某些预处理逻辑。在2023.10.20的这个项目中,我们可能正在构建一个Web应用程序,其中包含登录和session管理功能。`before_...
request.open("GET", "http://abc.com", true); request.send(null); ``` **handleResponse()**函数会在状态改变时被调用,检查请求是否完成(readyState为4)且HTTP状态是否成功(status为200)。 **其他传输方法*...
<param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers <param-name>cors.exposed.headers <param-value>Access-Control-Allow-Origin,...
问题: 就是我在接口赋值给了data的...methods: { request() { this.$http.post('xxxxxxxxxxxx', {}, (res) => { if (is.object(res)) { if (res.status === 'succ') { this.slides = res.data.useddevice_list
httpmime-4.5.2.jar httpcore-4.4.4.jar httpclient-win-4.5.2.jar httpclient-cache-4.5.2.jar httpclient-4.5.2.jar 提供以上5个jar包
Receives an HTTP HEAD request from the protected service method and handles the request. doOptions(HttpServletRequest, HttpServletResponse) - Method in class javax.servlet.http.HttpServlet Called by...
import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class HttpClientGetExample { public ...
org.apache.http.client.methods Standard HTTP method implementations. org.apache.http.client.params Deprecated. org.apache.http.client.protocol Client specific HTTP protocol handlers. org.apache....
Flask的Request对象可以帮助开发者获取HTTP请求的数据。对于小程序而言,通常情况下,小程序会向服务器发送GET或POST请求,并附带所需的数据。开发者可以通过Flask内置的request对象的args属性获取GET请求中的数据,...
import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils;
要求 请求:HTTP for Humans 描述 受Python请求库的启发,此gem提供了一种轻松的发出HTTP请求的方法。 用法 这是一个GET请求的示例: ... 如果您不是直接调用Requests.request而是直接指定HTTP方法,