JAVAEE_Servlet_11_GetAndPost
Get请求和Post请求
* Get请求 和 Post请求各方面分析
- 什么情况下浏览器发送的是Get请求?
1. 通过浏览器的地址栏输入地址,所访问的URL都是get请求,如果以post定义,那么由于请求与实现的不一致,会返回405错误。
2. 点击链接
3. 表单默认的提交方式
- 什么情况下浏览器发送的是Post请求?
1.只有将“《form action="" method="Post"> </form》”标签的,method属性设置为Post的时候,才是浏览器发送的才是post请求,剩下所有的浏览器请求都是Get请求。
- 什么时候使用Get请求?
1. 请求是为了查找资源,HTML表单数据仅用来帮助搜索。
2. 请求结果无持续性的副作用。
3. 收集的数据以及HTML表单内的输入字段名称的总长不超过1024个字符。
- 什么时候使用Post请求?
1. POST用于创建资源,资源的内容会被编入HTTP请示体的内容中。例如,处理订货表单、在数据库中加入新数据行等。
2. GET方法可能会产生很长的URL,或许会超过某些浏览器与服务器对URL长度的限制,此时使用Post
3. 要传送的数据不是采用7位的ASCII编码。
- Get请求的特点?
1. 请求参数会添加到请求资源路劲的后面,只能添加少量参数(因为请求行只有一行,大约只能存放2K左右的数据)
2. 请求参数会显示在浏览器地址栏,路由器会记录请求地址
- Post请求的特点?
1. 请求参数添加到请求体内容里面,可以添加大量的参数(也解释了为什么浏览器地址栏不能发送post请求,在地址栏里我们只能填写URL,并不能进入到Http包的实体当中)
2. 相对安全,但是,post请求也不会对请求参数进行加密处理(可以使用https协议来保证数据安全)
- Get请求和POST请求的区别?
1. get:
- get请求在请求行上提交数据. 格式:uri? name=value&name=value
- get请求提交方式最终会显示在浏览器地址栏上
- get请求在请求行上提交数据,所以提交的数据有长度限制
- get请求只能提交字符串类型数据。
- get请求的最终结果会被浏览器缓存Cache进行收纳,而post不会
2.post:
- Post请求在请求体中提交数据,相对安全,格式:name=value&name=value
- post请求提交方式最终不会再地址栏中显示
- Post请求在请求体中提交数据,所以提交的数据没有长度限制
- post请求可以提交各种类型数据,包括 视频, 音乐,图片,所以文件上传必须使用post请求
- Post请求不使用缓存机制 no-cache,不会被浏览器缓存收纳。
- Get请求和POST请求如何选择使用?
- 传送数据内容包括敏感数据,必须使用post
- 传送数据格式不是字符串类型数据,必须使用post
- 传送数据很多必须使用post
- 为了修改服务器端资源的时候使用post
- 剩下情况都要使用get。
- get请求一般是从服务器端读取资源,读取的这个资源在短时间内是不会发生变化的,所以get请求最终的结果被浏览器缓存起来了。
- post请求一般是修改服务器端的资源,而每次修改的结果都是不同的,所以没必要将post缓存。
- 浏览器缓存
1. 浏览器将数据缓存之后,缓存的资源是和某个特定的路径缓存在一起的,只要浏览器再发送相同的请求路径,这是时候回去缓存中获取资源,不再访问服务器,利用这种方式降低服务器的压力,提高用户的体验。
2. 但是有时候我们不希望所请求得资源走缓存,希望它走服务器,可以在请求路径后面添加时间戳
例如: http://localhost:8080/prj-servlet-09/loginServlet?timestamp=123456
- 需要保证前端请求方式和后台程序处理方式一致
1.前端的页面发送的请求方式应该和服务器端需要的请求方式一致。
2.服务器端需要get请求,前端就应该发送get请求,服务器端需要post请求,前端就应该发送pst请求。若不一致应该提示错误信息。
JAVAEE_Servlet_11_GetAndPost的更多相关文章
随机推荐
- where & having 关键字
where和having都是做条件筛选的 where执行的时间比having要早 where后面不能出现组函数 having后面可以出现组函数 where语句要跟在from后面 ,where 不能单独 ...
- idea快捷键:查找类中所有方法的快捷键
查找类中所有方法的快捷键 第一种:ctal+f12,如下图 第二种:alt+7,如下图
- Kafka集群消息积压问题及处理策略
通常情况下,企业中会采取轮询或者随机的方式,通过Kafka的producer向Kafka集群生产数据,来尽可能保证Kafka分区之间的数据是均匀分布的. 在分区数据均匀分布的前提下,如果我们针对要处理 ...
- flask wtforms 的效验
flask版 .py from flask import Flask, render_template, request, session, current_app, g, redirect from ...
- 打造综合性智慧城市之朔州开发区 3D 可视化
前言 近几年,我国智慧城市建设步伐也不断加快,党中央和国务院也更加注重智慧园区的建设与发展,智慧园区建设与园区产业发展相结合,向着创新化.生态化发展,更加注重高新技术.绿色环保型等产业的发展,将管 ...
- 一文弄懂js的执行上下文与执行上下文栈
目录 执行上下文与执行上下文栈 变量提升与函数提升 变量提升 函数提升 变量提升与函数提升的优先级 变量提升的一道题目引出var关键字与let关键字各自的特性 执行上下文 全局执行上下文 函数(局部) ...
- 浅谈Java的反射的原理
Java的编译过程 谈及反射,不得不先了解一下,java的整个编译过程,整体的java编译过程可以参考 之前的一篇 一个java文件被执行的历程 这里我们只针对 对象这一层级来讨论,一个java文件, ...
- teprunner测试平台部署到Linux系统Docker
本文是一篇过渡,在进行用例管理模块开发之前,有必要把入门篇开发完成的代码部署到Linux系统Docker中,把部署流程走一遍,这个过程对后端设计有决定性影响. 本地运行 通过在Vue项目执行npm r ...
- nginx使用-2(模块和日志)
默认官方模块 1.1.Gzip压缩 压缩文件,使文件变小,传输更快了.目前市场上大部分浏览器是支持GZIP的.IE6以下支持不好,会出现乱码情况. 官方文档:http://nginx.org/en/d ...
- asp.net core 实现支持自定义 Content-Type
asp.net core 实现支持自定义 Content-Type Intro 我们最近有一个原本是内网的服务要上公网,在公网上有一层 Cloudflare 作为网站的公网流量提供者,CloudFla ...