`
- 浏览:
79503 次
- 性别:
- 来自:
北京
-
很多人都是模模糊糊的知道post和get的区别,到底有什么区别,具体的也说不清楚。根据自己的一点经验有在网上找了很多这方面的知识,总结如下:
1,post/get都是请求服务器,get是发送获取服务器数据的请求;post是发送传递数据的请求。
2,post/get的安全问题:
1),get传输的数据是在URL里,post是封装在Form表单里。由于浏览器会缓存URL,如果URL里包含敏感数据,那么别的用户就可从历史记录里轻易的读取到这些数据。从这方面来分析get方法存在 严重的安全性问题。
2),如果从数据传输的过程来分析说post比get安全,是错误的。因为post,get传输数据都是明文传送。用类似httpfox这样的插件都可以看到二者传送的明文数据。
3),如果从操作动作来看说post比get安全更是严重的错误。因为恰恰相反,不单是字面意思,HTTP规范里,GET用于信息获取,而且应该是安全的和幂等的;POST表示可能修改变服务器上的资源的请求。get是通过指定的URL获取某个资源,是读取操作。不论get多少次被访问的资源的状态不会改变;post是对访问的资源追加数据,每次提交post参与的代码都会被认为这个操作会修改资 源的状态,于是按F5或者刷新页面时会弹出“是否确认重复提交的对话框”。例如:在论坛请求一个帖子的地址,无论刷新多少次,请求多少次都是得到的这个帖子的详细内容,而且帖子本身状态不会因为本次请求有发生任何改变。这样的操作是安全的幂等的。当对这个帖子发表评论时就应该使用post方法了,因为本次请求后资源的状态已经发生改变。
3,post/get请求数据的长度限制
1),http协议没有对请求数据的长度做限制,也没有对url的长度做限制。实际开发应用中特定浏览器和服务器对URL长度有限制,例如IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。因为get方法传输数据是放在URL里面所以使用GET提交时,传输数据就会受到URL长度的限制。
2),POST:由于不是通过URL传值,理论上数据不受限。但实际各个WEB服务器会规定对post提交数据大小进行限制,Apache、IIS6都有各自的配置。IIS4最大80k,IIS5最大100k。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
接下来,我们将分别讲解HttpClient如何实现GET和POST请求: 1. GET请求: 使用HttpGet类创建GET请求,指定目标URL。例如: ```java HttpGet httpGet = new HttpGet("http://example.com"); CloseableHttpClient...
这篇博客文章“j2me Http Get和Post请求总结”主要探讨了如何在J2ME环境中实现这两种请求。 首先,GET请求是HTTP协议中最常见的一种方法,通常用于从服务器获取数据。在J2ME中,我们可以使用`javax.microedition.io...
本篇文章将详细介绍如何在Java中实现GET和POST请求,以及相关的知识点。 首先,我们要了解GET和POST的区别。GET请求通常用于获取资源,其参数附加在URL后面,是可见的,且对数据长度有限制,一般不超过2KB。而POST...
本篇将详细阐述C# WebService客户端和服务器如何利用GET和POST方法进行数据传输。 首先,我们要了解什么是Web Service。Web Service是一种基于互联网的标准协议,它允许不同系统之间的应用程序通过网络共享数据和...
本篇将详细讲解Android中如何使用HTTPS进行GET和POST请求。 首先,HTTPS基于SSL/TLS协议,提供加密处理、服务器身份验证和消息完整性检查等功能。在Android中,我们通常会用到HttpURLConnection或者第三方库如...
总结,Express通过`req.query`和`req.body`提供了一种直观的方式来获取GET和POST请求的参数。在实际项目中,我们还需要根据Content-Type正确配置中间件,如`body-parser`和`multer`,以便正确解析不同类型的POST请求...
了解GET和POST请求的区别以及如何在Servlet中处理它们,对于Java Web开发者来说至关重要。通过实际的代码测试,你可以更好地掌握这些概念并应用到项目中。在`javaWeb_05`这个压缩包中,应该包含了实现这些功能的源...
在本篇文章中,我们将深入探讨cJSON库的主要功能和使用方法,并结合mongoose库,了解如何进行HTTP的POST和GET请求。 1. cJSON库的核心功能: - 创建JSON对象:cJSON库提供了一系列的API,如`cJSON_CreateObject`、...
本篇将深入探讨如何利用PHP的Socket功能来构造POST和GET请求,以及相关的类和对象。 一、PHP Socket基础 1. PHP的socket_create()函数:这是创建一个Socket的入口点,它接受三个参数,分别是协议族(AF_INET用于...
### C# 发送 POST 和 GET 请求的实现方法 在 C# 开发中,发送 HTTP 请求(包括 GET 和 POST)是常见的需求之一。本篇文章将基于提供的文件内容介绍如何使用 C# 来发送这两种类型的请求,并获取服务器返回的数据。 ...
本篇文章将深入探讨jQuery中的ajax、post、get方法以及如何使用json格式传递数据。 1. **jQuery的$.ajax()函数** `$.ajax()`是jQuery提供的核心Ajax功能,它可以实现异步数据交互。通过配置各种参数,可以灵活地...
本篇文章将深入探讨jQuery中的两个核心Ajax方法——`get()`和`post()`,它们用于与服务器进行异步数据交换,是Web开发中不可或缺的部分。 `get()`和`post()`方法是jQuery提供的一对轻量级的Ajax接口,用于实现...
总结,GET和POST是Android应用与服务器进行网络通信的两种基本方式,GET适合简单查询,POST适合数据提交。理解并掌握这两者的使用,是Android开发者必备的技能之一。`GetPostTest`类则是一个实践这些概念的实例,...
本篇将深入探讨如何在C++中封装libcurl,实现GET、POST请求以及文件下载功能。 首先,我们从`curlpp`这个库开始。`curlpp`是libcurl的一个C++包装器,它提供了更方便、面向对象的API,简化了与libcurl的交互。要...
本篇文章将详细讲解如何对Retrofit进行简单的封装,以实现公共参数在GET和POST请求中的统一处理,以及如何在上传和下载过程中添加进度显示功能。同时,我们还将探讨如何同时提交图片和文本数据。 首先,了解...
本篇文章主要聚焦于使用`HttpURLConnection`类...总结,本文介绍了使用`HttpURLConnection`在Android中发送GET和POST请求的基本步骤,以及需要注意的关键点。理解这些概念有助于开发者在构建网络功能时做出明智的选择。
本篇将详细介绍如何使用HttpClient发送HTTP请求,包括POST和GET方法,同时提供相关的jar包依赖以及Java代码示例,并对关键代码进行注解解释。 一、HttpClient库的引入 在Java项目中,首先需要添加HttpClient的jar包...
本篇文章将详细介绍如何使用Java实现POST和GET两种HTTP请求方法。 首先,GET请求是最基础的HTTP请求方式,通常用于获取资源。在Java中,我们可以使用`java.net.HttpURLConnection`类来实现GET请求。以下是一个简单...
本篇将详细探讨HTTP请求,特别是GET和POST请求,以及如何通过源码工具进行操作。 一、HTTP请求基础 HTTP请求是由客户端(如浏览器)发起,向服务器请求资源的动作。它由请求行、请求头、空行和请求体四部分组成。...
本篇文章将详细讲解如何使用Python的`urllib`库来实现`GET`和`POST`请求。 首先,`GET`方法通常用于从服务器检索信息,它将参数附加到URL后面。在提供的示例中,我们创建了一个字典`params`,包含键值对`{'programe...