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. 【VS开发】C++线程安全

    我们是多么渴望各种C++类都是多线程安全的,然而一旦涉及到对象间的交互,这样的渴望可能就只能是奢望了.下面,我们以设计一个双向链结点为例,看看要使其多线程安全将会带来一些什么问题. class Dou ...

  2. 看某视频开始做LINUX笔记的第一天

    LINUX系统对分区的基本要求: 1.最少要有一个根分区 / 分区,用来存放系统文件及程序.其大小至少在5GB以上. 2.要有一个 swap (交换)分区,它的作用相当与windows的虚拟内存,sw ...

  3. CDH安装前系统优化准备

    参考: https://www.cnblogs.com/yinzhengjie/p/10367447.html https://www.sysit.cn/blog/post/sysit/CDH6.2. ...

  4. CentOS7通过YUM安装MySQL5.6

    检查系统中的 MySQL,并删除现有的 Mysql 软件包. $ rpm -qa | grep mysql 这里如果没有返回任何东西证明没有安装任何 MySQL 相关的应用.如下图: 由于 cento ...

  5. @Transactional spring事务回滚相关

    还可以设置回滚点,看下面 /** * 用户登录接口 * * * 1明确事务方法前的命名规则 * 2保证事务方法执行的时间尽可能的短,不允许出现循环操作,不允许出现RPC等网络请求操作 * 3不允许所有 ...

  6. 常用CSS代码大全(工作必备)

    用html+css可以很方便的进行网页的排版布局,但不是每一种属性或者代码我们都铭记于心,最近我把CSS中的常用代码进行了归纳总结,方便自己以后查看,同时也分享给大家,希望对你们有用. 一.文本设置 ...

  7. JVM内存模型入门

    JVM内存模型入门 本文是学习笔记,原文地址在:https://www.bilibili.com/video/av62009886 综述 其实没有太多新东西 JVM主要分为五个区域:栈区.堆区.本地方 ...

  8. CentOS查看Java进程并部署jar包

    查看Java进程获取pid号:ps -ef|grep java|grep -v grep 部署Javajar包并指定输出日志文件(null不输出):nohup java -jar xx.jar > ...

  9. nginx redirect ignore port 两层nginx跳转忽略了端口

    问题: 两层nginx做代理,第一层:nginx:将9087->代理到80端口,第二层:将80端口->流量打到我们的代码上,结果在代码中拿到的链接不带9087端口,则代码中发生跳转的时候, ...

  10. Object.keys()返回对象自身可枚举属性组成的数组

    Object.keys()方法是对一个对象的key遍历,会把key组成一个数组返回 示例: // 参数为数组时,返回的是数组的索引 let arr1 = [1, 2, '3'] console.log ...