我所熟知的请求方法一共有六种:

  GET 请求指定的页面信息,并返回实体主体。

  POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)

  PUT 从客户端向服务器传送的数据取代指定的文档的内容。

  DELETE 请求服务器删除指定的页面

  HEAD 返回的响应中的报头

 OPTIONS 查看服务器的性能
 
而我们平时最常接触的,就是前三种:GET,POST,PUT。关于get和post的区别,post和put的区别的讨论,一直都是http请求方法中无法回避的问题。
现在,我们就深入地探究一下第一个问题: GET和POST有何区别?
1,GET用于向服务器查询数据,而POST用于更新服务器的数据;
2,GET传输数据较小,而POST传输数据较大;(因为浏览器地址栏对URL的长度是有限制的,而GET请求的数据正是作为search参数嵌在URL中,所以它的请求数据会受到影响;
而POST呢?它请求的数据是放在请求报文的主体中的,并不受影响,所以传输数据较大)
3,POST比GET更安全。(正如2所解释的那样,因为GET请求的数据是放在URL中的,而URL是会显示在地址栏的,用户看不到报文的主体内容,但会轻易注意到地址栏,所以如果
GET请求的数据包括一些用户名密码之类的敏感信息,那就真的很不安全了) 没错,这就是GET和POST的真正区别了,接下来看第二个历史大问题:POST和PUT的区别 POST和PUT区别在哪里?
根本区别-->POST方法不是幂等的,而PUT方法是幂等的。
所以这个“幂等”是什么鬼?简单来说,幂等就是“无论你操作多少次,都是操作在一个对象上”,所以PUT方法操作在原来的对象上,是对原来已存在的对象的更新;而POST
是创造一个新对象,并把这个新对象加到服务器里。
  就比如我现在写了一篇新博客,要提交上去,就应该用POST,因为我这个是新博客嘛,跟原来的博客没关系,属于新增的对象;而我写完这篇博客后发现有错别字,然后我
进行修改,修改好后再提交上去,这时候就应该用PUT,因为我只是想对原来这篇博客进行小小的修改更新罢了。
体会一下。

三方面搞定http协议之“请求方法”的更多相关文章

  1. 三方面搞定http协议之“报文模型”

    关于http协议,这一块的知识其实相当大,但是作为一个前端开发者来说,我觉得只要知道三方面的内容就足矣把http协议是个什么东西解释清楚了.而这三方面,就是http的报文模型,请求方式以及状态码. 这 ...

  2. 三方面搞定http协议之“状态码”

    当我们向服务器请求数据的时候,服务器会给我们一个反馈,告诉我们对待我们的请求,服务器处理得怎么样了,而这个反馈,是通过数字来传达的,这个数字就叫状态码. 状态码分为以下几种: 1xx:指示信息--表示 ...

  3. iOS开发三步搞定百度推送

    iOS开发三步搞定百度推送   百度推送很简单,准备工作:在百度云推送平台注册应用,上传证书. 步骤一: 百度云推送平台 http://push.baidu.com/sdk/push_client_s ...

  4. windows+mysql集群搭建-三分钟搞定集群

    注:本文来源:  陈晓婵   <  windows+mysql集群搭建-三分钟搞定集群   > 一:mysql集群搭建教程-基础篇 计算机一级考试系统要用集群,目标是把集群搭建起来,保证一 ...

  5. 转:解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别

    解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别 标准Http协议支持六种请求方法,即: 1.GET 2.POST 3.PUT 4.Delete 5.HEAD ...

  6. Spring Boot 集成 Ehcache 缓存,三步搞定!

    作者:谭朝红 www.ramostear.com/articles/spring_boot_ehcache.html 本次内容主要介绍基于Ehcache 3.0来快速实现Spring Boot应用程序 ...

  7. HTTP协议扫盲(二)HTTP协议的请求方法、请求头和响应头

    一.HTTP请求方法 Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST ...

  8. 几周内搞定Java的10个方法

    不要将Java与JavaScript弄混了,Java的目标是“一次编译,到处调试”(呃,不对,是“到处运行”).简单来说,就是Java程序可以直接在任何设备上运行. Java语言是什么? 不管我们是否 ...

  9. 浅谈http协议六种请求方法,get、head、put、delete、post、options区别

    标准Http协议支持六种请求方法,即: 1.GET 2.POST 3.PUT 4.Delete 5.HEAD 6.Options 但其实我们大部分情况下只用到了GET和POST.如果想设计一个符合RE ...

随机推荐

  1. pandas库的学习笔记

    Environment pandas 0.21.0 python 3.6 jupyter notebook 开始 习惯上,我们导入如下: import pandas as pd import nump ...

  2. 星星打分,今天我们就用Jq代码来实现,看看究竟是如何实现的 其中有两个重要的事件mouseenter和mouseleave效果如下图

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <met ...

  3. Python 知识小tips

    python进制转换函数: 二进制转换成十进制:v = "0b1111011"    # int(v,2) 十进制转换成二进制:v = 18                   # ...

  4. Parsing error was found in mapping #{}. Check syntax #{property|(expression), var1=value1, var2=val错误

    xml中有一个语法错误,整个都错了, 虽然只调用了select查询的方法,但是update中也有语法错误

  5. spo0lsv病毒分析

    1.样本概况 1.1 样本信息 病毒名称:spo0lsv.exe 所属家族:Worm MD5值:512301C535C88255C9A252FDF70B7A03 SHA1值:CA3A1070CFF31 ...

  6. go mysql insert变量到数据库

    result, err1 := db.Exec("insert ignore into dish(name,calorie,confidence) values('"+str1+& ...

  7. JavaScript基础视频教程总结(101-110章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  8. 第二次scrum

    scrum说明 在第一次已有的基础上,进行了具体的实现.完成了具体的界面设计,还有各个栏目,如:发帖,搜索,禁言等. 类图 依次是外观模式图,发帖图,禁言图. 外观模式图 发帖图 禁言图 团队成员 潘 ...

  9. <笔记>三码合一

    讲求三码合一,何为三码合一?(这里我用UTF8讲例子) 就是页面编码,文档编码,数据库编码要统一一种格式,切记不可有的是GBK,有的是UFT8 页面编码:也就是用header 函数申明:header( ...

  10. idea 新建项目上传至git(coding)

    一.新建项目 1.改为git版本 2.出现如下框 选择Git 3.新建一个.gitignore file (Git) 4.勾掉一些不需要的 5.出现如下框 5.1.如果不知道.gitignore fi ...