http请求方式分类及区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http请求方式分类及区别相关的知识,希望对你有一定的参考价值。

参考技术A

其中HTTP1.0 定义了三种请求方法: GET , POST 和 HEAD 方法。
HTTP1.1 新增了五种请求方法: OPTIONS , PUT , DELETE , TRACE 和 CONNECT 方法。

1、GET请求,请求的数据会附加在URL之后即请求行,以?分割URL和传输数据,多个参数用&连接。URL的编码格式采用的是ASCII编码,而不是uniclde,即是说所有的非ASCII字符都要编码之后再传输。
而POST请求会把请求的数据放置在请求实体中。数据是以流的方式写过去,不会在地址栏上面显示。
因此,GET请求的数据会暴露在地址栏中,而POST请求则不会。

2、传输数据的大小
在HTTP规范中,没有对URL的长度和传输的数据大小进行限制。但是在实际开发过程中,对于GET,特定的浏览器和服务器对URL的长度有限制。因此,在使用GET请求时,传输数据会受到URL长度的限制。(因为它是写在地址栏的)
而对于POST请求,由于不是URL传值,理论上是不会受限制的,但实际上各个服务器会规定对POST提交数据大小进行限制,Apache、IIS等服务器都有各自的配置。
3、安全性
POST的安全性比GET的高。
这里的安全是指真正的安全,而不同于上面GET提到的安全方法中的安全,上面提到的安全仅仅是不修改服务器的数据。比如,在进行登录操作,通过GET请求,用户名和密码都会暴露再URL上,因为登录页面有可能被浏览器缓存以及其他人查看浏览器的历史记录的原因,此时的用户名和密码就很容易被他人拿到了。除此之外,GET请求提交的数据还可能会造成 Cross-site request frogery 攻击。

以上是关于http请求方式分类及区别的主要内容,如果未能解决你的问题,请参考以下文章

谈谈Socket请求和Http请求的各自特点、区别及适用场景

Http中Get和Post请求方式的区别

HTTP请求方法中中GET和POST的区别(详细描述)

HTTP请求方式:GET和POST请求的区别

HTTP 请求的 GET 与 POST 方式的区别

HttpClient请求及代理IP请求