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协议的要求,众多的浏览器都会遵照的原则,开发过程中同样应该严格遵守,以免发生一些严重的后果。

随机推荐

  1. 纯前端表格控件SpreadJS以专注业务、提升效率赢得用户与市场

    提起华为2012实验室,你可能有点陌生. 但你一定还对前段时间华为的那封<海思总裁致员工的一封信>记忆犹新,就在那篇饱含深情的信中,我们知道了华为为确保公司大部分产品的战略安全和连续供应, ...

  2. (转)SQLServer查询数据库各种历史记录

    一. 数据库启动记录 1. 最近一次启动SQL Server的时间 select sqlserver_start_time from sys.dm_os_sys_info; --也可参考系统进程创建的 ...

  3. 洛谷 P3370 【模板】字符串哈希 (set||map||哈希||字典树(mle)

    P3370 [模板]字符串哈希 题目描述 如题,给定N个字符串(第i个字符串长度为Mi,字符串内包含数字.大小写字母,大小写敏感),请求出N个字符串中共有多少个不同的字符串. #友情提醒:如果真的想好 ...

  4. [LGP2791] 幼儿园篮球题

    你猜猜题怎么出出来的? 显然第\(i\)场的答案为 \[ \frac{1}{\binom{n_i}{m_i}\binom{n_i}{k_i}}\sum_{x=0}^{k_i}\binom{n_i}{m ...

  5. centos终端显示字母重叠

    在使用VMware虚拟机安装linux之后,之后调整了中文显示,但是后来不知道怎么回事在终端显示的字母很多都是重叠的. 在百度上也找到很多的解决办法 eg: 终端键入:vi /etc/fonts/co ...

  6. React应该如何优雅的绑定事件?

    前言 由于JS的灵活性,我们在React中其实有很多种绑定事件的方式,然而,其实有许多我们常见的事件绑定,其实并不是高效的.所以本文想给大家介绍一下React绑定事件的正确姿势. 常见两种种错误绑定事 ...

  7. Eslint报错整理与解决方法

    1.‘Unexpected tab character’ 字面意思理解呢就是意想不到的制表符,当时出现的时候就是我习惯的使用Tab键去打空格,但是eslint默认不认可Tab,所以解决方法很简单: 在 ...

  8. mysql-8.0.17-winx64 部署

    1.官网下载mysql-8.0.17-winx64,选择Zip文件格式下载 2.解压到目标路径,我这里是E盘根目录,即E:\mysql8 3.根目录下创建my.ini,内容如下: [mysqld]#端 ...

  9. golang(2):基本数据类型和操作符

    1). 文件名 & 关键字 & 标识符 . 所有go源码都以 .go 结尾 . 标识符以字母或下划线开头,大小写敏感 . _ 是特殊标识符,用来忽略结果 . 保留关键字 golang  ...

  10. bzoj 4722 由乃

    bzoj 先考虑一种简单的情况,即这个区间是否有相同的数,因为值域大小为1000,那么当区间长度\(>1000\)时,根据鸽巢原理,一定会有两个相同的数,这时候可以直接输出Yuno 进一步的,对 ...