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. 应用安全 - PHP - CMS - EmpireCMS - 漏洞 - 汇总

    2006 Empire CMS <= 3.7 (checklevel.php) Remote File Include Vulnerability Empire CMS Checklevel.P ...

  2. Eclipse新建新的工作空间,将原有的配置全部或部分复制

    1.部分复制 File->Switch workspace->Other...,按下图选择 只复制简单的配置,如cvs之类的信息是不会复制的. 2.全部复制(build path) 在1. ...

  3. 【VS开发】进程线程及堆栈关系的总结

    进程线程及堆栈关系的总结 突然想到进程的栈和线程的栈,就顺便说一下,线程的栈被自动分配到进程的内存空间中 进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性. ...

  4. json字段为null时输出空字符串

    Map < String , Object > jsonMap = new HashMap< String , Object>(); jsonMap.put(); jsonMa ...

  5. poj1050-最大子矩阵(dp)

    链接:http://poj.org/problem?id=1050 题意:给定n*n的矩阵,求和最大的子矩阵. 思路:我们将二维矩阵降维至一维,即将第i行到第j行的所有列压缩成一行,我们可以在线性时间 ...

  6. 好的python链接

    海艳师姐博客园:  https://www.cnblogs.com/haiyan123/p/8387770.html

  7. 坦克大战--Java类型 ---- (3)实现socket通信

    一.实现思路 使用socket通信的一些方法来实现socket通信,客户端和服务端两边需要约定好通信的接口Port(尽量选高的),客户端需要服务端的IP地址,以实现数据交流. 同时,客户端和服务端需要 ...

  8. 一步一步带你入门MySQL中的索引和锁 (转)

    出处: 一步一步带你入门MySQL中的索引和锁 索引 索引常见的几种类型 索引常见的类型有哈希索引,有序数组索引,二叉树索引,跳表等等.本文主要探讨 MySQL 的默认存储引擎 InnoDB 的索引结 ...

  9. redis 学习(3)-- String 类型

    redis 学习(3)-- String 类型 String-结构 结构:Key-Value对 Value:可以是字符串.数字,也可以是二进制数组 限制:Value最大值为512MB String-常 ...

  10. 导入excel-uploadify+npoi

    总结: 导入文件时一定要给database设置栏位 虚拟表的栏位名称可以与数据库表不一致,但顺序一定要一致,因为它是按照顺序依次插入的 sheet.FirstRowNum = 0; sheet.Fir ...