iOS_HTTP方法:GET对比POST

两种最常用的HTTP方法是:GET和POST。

请问:什么是HTTP?

超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信。

HTTP的工作方式是客户机与服务器之间的请求-应答协议。

web浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。

举例:客户端(浏览器)向服务器提交HTTP请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。

GET -从指定的资源请求数据。

POST-向指定的资源提交要被处理的数据

GET方法

请注意,查询字符串(名称/值对)是在GET请求的URL中发送的:

/test/demo_form.asp?name1=value1&name2=value2

有关GET请求的其他一些注释:

GET请求可被缓存

GET请求保留在浏览器历史记录中

GET请求可被收藏为书签

GET请求不应在处理敏感数据时使用

GET请求有长度限制

GET请求只应当用于取回数据

POST方法

请注意,查询字符串(名称/值对)是在POST请求的HTTP消息主体中发送的:

POST/test/demo_form.asp HTTP/1.1

Host: baidu.com

name1=value1&name2=value2

有关POST请求的其他一些注释:

POST请求不会被缓存

POST请求不会保留在浏览器历史记录中

POST不能被收藏为书签

POST请求对数据长度没有要求

比较GET与POST

GET

后退按钮/刷新无害

书签可收藏为书签

缓存能被缓存

编码类型application/x-www-form-urlencoded

历史参数保留在浏览器历史中。

对数据长度的限制是的。当发送数据时,GET方法向URL添加数据;URL的长度是受限制的(URL的最大长度是2048个字符)。

对数据类型的限制只允许ASCII字符。

安全性与POST相比,GET的安全性较差,因为所发送的数据是URL的一部分。在发送密码或其他敏感信息时绝不要使用GET!

可见性数据在URL中对所有人都是可见的。

POST

后退按钮/刷新数据会被重新提交(浏览器应该告知用户数据会被重新提交)。

书签不可收藏为书签

缓存不能缓存

编码类型application/x-www-form-urlencoded或multipart/form-data。为二进制数据使用多重编码。

历史参数不会保存在浏览器历史中。

对数据长度的限制无限制。

对数据类型的限制没有限制。也允许二进制数据。

安全性POST比GET更安全,因为参数不会被保存在浏览器历史或web服务器日志中。

可见性数据不会显示在URL中。

其他HTTP请求方法

方法描述

HEAD与GET相同,但只返回HTTP报头,不返回文档主体。

PUT上传指定的URI表示。

DELETE删除指定资源。

OPTIONS返回服务器支持的HTTP方法。

CONNECT把请求连接转换到透明的TCP/IP通道。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,769评论 19 139
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 12,698评论 6 152
  • Http协议详解 标签(空格分隔): Linux 声明:本片文章非原创,内容来源于博客园作者MIN飞翔的HTTP协...
    Sivin阅读 10,617评论 3 82
  • http协议有http0.9,http1.0,http1.1和http2三个版本,但是现在浏览器使用的是htt...
    一现_阅读 5,893评论 0 3
  • (原话)谈谈对HTTP协议的理解:超文本传输协议,应用于OSI网络模型中的应用层,是用于服务器传输超文本到本地浏览...
    24_yu阅读 4,419评论 0 1