nginx会将post请求转为get么_前端角度谈GET与POST的区别
GET与POST
参数:
GET传递的参数只能带URL后面,文本格式QueryString,各浏览器一般有长度限制,一般认为是2083,如果有中文字符更短。提交到服务器端的数据量小。参考:
https://www.XXX.com.cn/blog/20201021.html
POST可以传递 application/x-www-form-urlencoded 的类似 QueryString、multipart/form-data 的二进制报文格式(支持文件信息嵌入报文传输)、纯文本或二进制的body参数。提交到服务器端的数据量大。
用途:
GET用于从服务器端获取数据,包括静态资源(HTML|JS|CSS|Image等等)、动态数据展示(列表数据、详情数据等等)。
POST用于向服务器提交数据,比如增删改数据,提交一个表单新建一个用户、或修改一个用户等。
缓存:
GET时默认可以复用前面的请求数据作为缓存结果返回,此时以完整的URL作为缓存数据的KEY。所以有时候为了强制每次请求都是新数据,我们可以在URL后面加上一个随机参数Math.random或时间戳new Date().getTime()、或版本号,比如abc.com?a=1&rnd=0.123987之类的。这也是目前一些静态资源后面加一个很长的版本号的原因,jquery-min.js?v=13877770表示一个版本,当页面引用jquery-min.js?v=13877771时浏览器必然会重新去服务器请求这个资源。jQuery.ajax方法,如果cache=false,则会在GET请求参数中附加”_={timestamp}”来禁用缓存。
POST一般则不会被这些缓存因素影响。
安全性:
默认对于nginx的access log,会自动记录get或post的完整URL,包括其中带的参数。
对于POST来说,请求的报文却不会被记录,这些对于敏感数据来说,POST更安全一些。
自动化性能测试:
基于上面提到的nginx日志,可以使用grep GET+日期,awk格式化,然后sort -u去重,从而提取到某天的所有GET请求URL,使用程序模拟登陆,然后请求所有URL即可获取简单的性能测试数据,每个请求是否正确,响应时间多少等等。
但是对于POST请求,因为不知道报文,无法这样简单处理。可以通过nginx-lua获取报文输出到log,这样格式化会麻烦很多,但不失为一个办法。
其它
HEAD:获得报文首部
HEAD方法和GET方法一样,知识不返回豹纹的主体部分,用于确认URI的有效性及资源更新的日期时间等。
具体来说:1、判断类型;2、查看响应中的状态码,看对象是否存在(响应:请求执行成功了,但无数据返回);3、测试资源是否被修改过
HEAD方法和GET方法的区别:GET方法有实体,HEAD方法无实体。
PUT:传输文件
PUT方法用来传输文件,就像FTP协议的文件上传一样,要求在请求报文的主体中包含文件内容,然后保存在请求URI指定的位置。但是HTTP/1.1的PUT方法自身不带验证机制,任何人都可以上传文件,存在安全问题,故一般不用。
DELETE:删除文件
指明客户端想让服务器删除某个资源,与PUT方法相反,按URI删除指定资源
OPTIONS:询问支持的方法
OPTIONS方法用来查询针对请求URI指定资源支持的方法(客户端询问服务器可以提交哪些请求方法)
TRACE:追踪路径
客户端可以对请求消息的传输路径进行追踪,TRACE方法是让Web服务器端将之前的请求通信还给客户端的方法
CONNECT:要求用隧道协议连接代理
CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。主要使用SSL(安全套接层)和TLS(传输层安全)协议把通信内容加密后经网络隧道传输。
nginx会将post请求转为get么_前端角度谈GET与POST的区别相关推荐
- vue 一个页面有点请求需要同时发送_前端性能优化,这些你都需要知道
来源: 海洋里的魔鬼鱼 前言 最近花了一些时间在项目的性能优化上,背后做了很多工作,但是最后依然没有达到自己想要的结果,有些失望,但是还是记录下自己的执着. 性能优化总结:减少请求次数.减小资源大小. ...
- 浏览器如何将你的http请求转为https请求?
1.问题 向浏览器中输入"taobao.com" "www.taobao.com" "http://www.taobao.com",最终浏览 ...
- Nginx配置跨域请求 Access-Control-Allow-Origin *
Nginx配置跨域请求 Access-Control-Allow-Origin * 当出现403跨域错误的时候 No 'Access-Control-Allow-Origin' header is p ...
- 摘要: Nginx 网络多并发请求的TCP网络参数做简单说明。
摘要: Nginx 网络多并发请求的TCP网络参数做简单说明. 需要修改/etc/sysctl.conf来更改内核参数 #原有字段 net.ipv4.tcp_syncookies = 1 #新增字段 ...
- 解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题
解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题 参考文章: (1)解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题 (2)ht ...
- nginx工作进程处理请求的系统调用
1.找到nginx的工作进程 ps aux |grep nginx 2.使用 strace 监控该进程[系统调用] strace -p 5439 3.对nginx发起简单get请求 wget loca ...
- Nginx+Lua+Redis 对请求进行限制
Nginx+Lua+Redis 对请求进行限制 一.概述 需求:所有访问/myapi/**的请求必须是POST请求,而且根据请求参数过滤不符合规则的非法请求(黑名单), 这些请求一律不转发到后端服务器 ...
- nginx 如何将 https 请求转发到 http
nginx 如何将 https 请求转发到 http 网站之前是 https 的,通过 nginx 设置好了,现在不想用 https 了,但发散到外界的一些网址还是 https 的,此时只能通过 ng ...
- NGINX中的的请求头x_real_ip和x_forwarded_for
以下是转载内容: 内容来源:https://www.cnblogs.com/diaosir/p/6890825.html https://blog.csdn.net/feifeixiang2835/a ...
最新文章
- 第十二课.sklearn决策树实验
- idea添加maven libraries_使用IntelliJ IDEA创建一个Maven的Spring Boot项目
- 【ZOJ - 3946】Highway Project(最短路子图,维护双权值,贪心,最小树形图)
- linux sz到指定的机器,linux 机器之间 zssh, rz, sz互相传输讲解
- SSM+easyUI(框架的搭建)
- Matlab--三种归一化方法
- 点赞!这4款你常用的App已上线隐私政策
- ppt中流程图旁边怎么添加_辅食中的黑芝麻酱怎么添加呢?
- C语言根号作用,c语言中如何开根号运算
- 优化算法(1):最速下降法、牛顿法
- linux安全审计和加固工具-lynis
- 初级计算机基础知识教程,计算机基础知识(初中级教程)
- Siemens CXV65+Photoshop CS2
- 冯诺依曼体系结构计算机
- python中如何上下标
- gearman入门使用
- 理解离散傅立叶变换(一)——傅立叶变换的由来
- Mysql NDB and InnoDB 存储引擎区别
- 我该怎样度此生?——认真并干净地生活
- Java文件操作-I/O流
热门文章
- SpringBoot中使用Shiro和JWT做认证和鉴权
- RSA 非对称加密原理
- python中最难的是什么_Python 最难的问题你猜是什么?
- python tfidf特征变换_使用sklearn提取文本的tfidf特征
- java 跨类 调用 model_Model.java中的这两个方法,为什么不能在子类中调用,或者包内调用也行啊。...
- 深圳linux测试题库,Linux认证考试题库及答案
- 计算机办公应用软件初级,电脑办公软件有哪些?桌面便签办公软件基础教程
- Eclipse2020版本:pom.xml第一行报错:Could not initialize class org.apache.maven.plugin.war.
- 基于Echarts+HTML5可视化数据大屏展示—大数据管理平台中心
- easyexcel多个sheet导入_Java中Easypoi实现excel多sheet表导入导出功能