HTTP请求方式之POST和GET的区别
GET请求方式:
如果我们的网页收集到的用户数据,他规定了,此网页用户数据用GET的请求方式去处理的话,我们会发现,比如百度,就是一个很经典的GET请求方式
当我们在百度搜索上输入一个‘java’,点击百度一下,那个这个网页就收集到了我们要搜索的数据,并提交百度服务器处理完后,显示一些搜索的结果,那么这个就是很经典的GET请求

请求数据用问号直接隔在了我的url后面,大家看那个“wd=java”,这就是我们写的那个“java”
如图,在请求主体里,是没有内容的,原因是,GET请求方式是把请求数据用‘?’的方式拼接在了请求头里面的请求地址里面了,而且在地址栏是可以看到的

POST请求方式:
请求数据是在请求实体里进行发送,在URL中看不到请求的数据。
在POST请求中,是把你的请求数据放在了请求主体中,而不是url地址的后面。
优缺点:
GET:
1、直接拼在了url的后面,都能看见,所以不安全。
比如你写了个登录功能,一点击登录,你的账号密码全拼在了url后面,因此,这是及不安全的。
2、HTTP携带请求的数据是没有限制的,也就是说你想附带多少就附带多少,例如你上传文件,只是时间上传时间长短的问题。
但是,浏览器的地址栏,因为GET要显示在那,浏览器的地址栏是有长度限制的。所以GET方式只能传入少量的。不是因为HTTP协议。
POST:
1、请求数据是在请求实体中进行发送的,在url中看不到具体的请求信息,安全。
2、POST有单独的请求数据这一块的进行发送的,那么这一块就是一个单独的体系,所以POST是不限制大小的。
总结:
如果你的数据对安全性要求不高,并且数据量比较小,就可以有GET;相反,如果你的数据对安全性要求高,并且数据量比较大,就可以有POST
但往往第一衡量维度是安全性,不是数据量,而是安全性,哪怕是牺牲效率,也要提高安全性。
可能有人会说,那我直接用POST不就完事了吗?因为GET的效率比POST要高的。
HTTP请求方式之POST和GET的区别的更多相关文章
- HTTP请求方式中get和post的区别
表单提交中get和post方式的区别有5点 1.get是从服务器上获取数据,post是向服务器传送数据. 2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一 ...
- 限制action所接受的请求方式或请求参数
原文:http://www.cnblogs.com/liukemng/p/3726897.html 2.限制action所接受的请求方式(get或post): 之前我们在HelloWorldContr ...
- Android——JDK的get请求方式
layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...
- 第二节(RequestMapping请求方式)学习尚硅谷-springmvc视频教程
项目中,创建测试类SpringMVCTest @Controller @RequestMapping("/springmvc1") public class SpringMVCTe ...
- jQuery中ajax的4种常用请求方式
jQuery中ajax的4种常用请求方式: 1.$.ajax()返回其创建的 XMLHttpRequest 对象. $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数 ...
- js中同步与异步请求方式
异步请求方式: $.ajax({ url : 'your url', data:{name:value}, cache : false, async : true, type : "POST ...
- WEB API 中HTTP的get、post、put,delete 请求方式
一.WEB API 中HTTP 请求方式的四个主要方法 (GET, PUT, POST, DELETE), 按照下列方式映射为 CURD 操作: 1.POST 用于新建资源,服务端在指定的URI 上创 ...
- Ajax中的get和post两种请求方式的异同
Ajax中我们经常用到get和post请求.那么什么时候用get请求,什么时候用post方式请求呢? 在做回答前我们首先要了解get和post的区别. 1. get是把参数数据队列加到提交表单的A ...
- HTTP 请求方式: GET和POST的比较(转)
GET和POST是HTTP的两个常用方法. 什么是HTTP? 超文本传输协议(HyperText Transfer Protocol -- HTTP)是一个设计来使客户端和服务器顺利进行通讯的协议 ...
随机推荐
- MySQL表存在外键关系无法清空数据的解决方案
先 SET FOREIGN_KEY_CHECKS=0; 然后delete删除,再 SET FOREIGN_KEY_CHECKS=1;
- SpringBoot项目中遇到的BUG
1.启动项目的时候报错 1.Error starting ApplicationContext. To display the auto-configuration report re-run you ...
- 用 C++ 模板元编程实现有限的静态 introspection
C++ 中的奇技淫巧大部分来源于模板技术,尤其是模版元编程技术(Template Meta-Programming, TMP).TMP 通过将一部分计算任务放在编译时完成,不仅提高了程序的性能,还能让 ...
- SpringBootMybatis02 mybatis-generator-gui|pageHelper|前后端分离|Filter权限实现
一.Mybatis-generator-gui 下载地址:https://github.com/LittlePageProgram/mybatis-generator-gui.git 使用方法:填写相 ...
- .htaccess A网站单页面301到B网站单页面
.htaccess 301问题 A网站 a.com/a.html 301到 B网站 b.com/b.html RewriteRule ^a.com/a.html$ http://www.b. ...
- Vue分割音乐歌词数据函数
parseLyric(lyric) { var lines = lyric.split(/\n/); //使用/n换行,将数据切成一个数组 var getLtricTime = ...
- Java并发编程实战 第6章 任务并行 第7章 取消与关闭
ExecutorCompletionService CompletionService用来接收一个Executor的执行结果,将已经完成任务,放置在可使用 take 访问的队列上. 大概用法: Exe ...
- xmlns, xmlns:xsi, xsi:schemaLocation 解释
xmlns, xmlns:xsi, xsi:schemaLocation 解释 xmlnsxsischemaLocation 我们在写 xml 文件时,尤其是 spring .mybatis 的配置文 ...
- 在CentOS 6.4上安装Puppet配置管理工具
在CentOS 6.4上安装Puppet配置管理工具 linux, puppetAdd comments 五052013 上篇说了下在ubuntu12.04上安装puppet,安装的版本为puppet ...
- 那些jquery或javascript花招
js定时器 定时器: 1)反复性定时器:格式:window.setInterval(“fn()”,1000); a)会反复执行 b)第二个参数是以毫秒计算的 2)一次性定时器:格式:window.se ...