http的get与post
1.http请求
http有两种报文,请求报文 (发送请求,可能包含数据)和响应报文(服务器响应请求获取数据)。一个http请求报文由请求行,请求头部,空行和请求正文(数据)四个部分组成。
HTTP请求: get: post:
<request line> //请求行 GET xx/index.html?name=1&age=1 HTTP/1.1 POST xx/index/html HTTP/1.1
<headers> //请求报头 Accept: */* Accept: */*
Accept-Language: zh-cn Accept-Language: zh-cn
host: localhost host: localhost
''''' '''''''
<blank line> //空行
[<request body>] //请求正文(可选) name=1&age=1
2.区别
根据HTTP规范,get方法用于信息获取,而且是安全和幂等的,也就是说get请求不会修改信息,仅仅获取信息资源,且每次获取的资源是一致的。post方法表示可能修改服务器上的资源的请求。get和post只是传递数据的方式,get方法也可以把数据传递到服务器,他们的本质都是请求然后接收结果,并不是一个取一个发。
从http请求来看,get方法的数据直接体现在URL上,而post方法则保存在请求正文中。所以,由于浏览器服务器的原因,URL的长度是有长度限制的,所以get方法传输的数据也是有大小的限制,post方法不是通过URL传值,理论上数据不受限制。使用get方法的时候。参数会在地址栏显示,浏览器历史记录也会记录下来,对于敏感数据,隐私性方面post方法更合适,当然这些是浏览器规定的。他们的安全级别都是一样的,如果没有加密,任何一个监听器都可以监听到所有的数据。
在开发中应该使用GET来获取查看信息,不能改变服务器信息,POST用来改变服务器信息,这是HTTP协议的要求,众多的浏览器都会遵照的原则,开发过程中同样应该严格遵守,以免发生一些严重的后果。
随机推荐
- 【机器学习】深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
在求取有约束条件的优化问题时,拉格朗日乘子法(Lagrange Multiplier) 和KKT条件是非常重要的两个求取方法,对于等式约束的优化问题,可以应用拉格朗日乘子法去求取最优值:如果含有不等式 ...
- SqlService 数据操作
存储过程: if exists(select * from sysobjects where name='proce_name') drop procedure proce_name go creat ...
- Interval List Intersections
Given two lists of closed intervals, each list of intervals is pairwise disjoint and in sorted order ...
- 从零开始,SpreadJS新人学习笔记【第5周】
复制粘贴.单元格格式和单元格类型 本周,让我们一起来学习SpreadJS 的复制粘贴.单元格格式和单元格类型,希望我的学习笔记能够帮助你们,从零开始学习 SpreadJS,并逐步精通. 在此前的学习笔 ...
- Git的常见操作
1.git init:初始化 git status:查看版本状态 git log : 查看提交日志
- Python基础字符串前加u,r,b,f含义
1.字符串前加 u 例:u"我是含有中文字符组成的字符串." 作用: 后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时 ...
- TCP/IP 协议是如何保证数据可靠性的?
原文: 网络基础:TCP协议-如何保证传输可靠性 TCP协议传输的特点主要就是面向字节流.传输可靠.面向连接.这篇博客,我们就重点讨论一下TCP协议如何确保传输的可靠性的. 确保传输可靠性的方式TCP ...
- ZuulServlet源码分析及ZuulFilter加载
参考https://yq.aliyun.com/wenji/2...https://blog.csdn.net/lds2227... 1.声明ZuulServlet @Configuration @E ...
- Intellij idea启动项目提示"ClassNotFoundException"
引用至Intellij IDEA 启动项目ClassNotFoundException 使用Intellij IDEA的过程中,新创建的项目启动时报 严重: Error configuring app ...
- docker在mac下安装及配置阿里云镜像加速
安装 brew cask install docker 配置 关于阿里云加速地址,下面会有详细说明 阿里云官方镜像加速 官方文档:https://help.aliyun.com/document_de ...