摘要

我们知道,当我们访问各种网页的时候,之所以能够看到页面,根本原因是发送了http请求然后得到了响应,从而页面才会弹出来。再或者我们上传一些照片和视频时,之所以可以上传成功也是因为我们通过http请求来进行上传,从而将资源放在了网上。


当客户端像服务端发送请求的时候,针对于不同意图的请求,我们分成了不同的http请求方法。

1.GET请求

GET方法是最常见也是最简单的http请求方法,它主要用作于获取资源。也就是说我客户端请求什么,你服务器就原样给我返回什么。
我请求的是文本,你就保持原样返回;我请求的是像CGI那样的程序,你就给我返回运行结果。

2.POST请求

POST方法主要用来传输实体的主体。

也就是说,当客户端需要向服务器传输一些东西的时候呢,这个时候就可以用POST方法了。那GET方法可以不可以呢?当然也可以,但是我们不推荐使用GET方法来对实体的主体进行传输

这个时候我们就会出现一个经典的面试问题:咳咳,请问GET和POST有什么区别?

3.GET和POST的区别

这里面我们可以参考一下w3c里面说的:

1.GET在浏览器回退时是无害的,而POST会再次提交请求。

2.GET产生的URL地址可以被Bookmark,而POST不可以。

3.GET请求会被浏览器主动cache,而POST不会,除非手动设置。

4.GET请求只能进行url编码,而POST支持多种编码方式。

5.GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

6.GET请求在URL中传送的参数是有长度限制的,而POST么有。

7.对参数的数据类型,GET只接受ASCII字符,而POST没有限制。.

8.GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

9.GET参数通过URL传递,POST放在Request body中。

4.PUT请求

PUT方法主要用来传输文件,就像FTP协议的文件上传一样。
但是由于Http/1.1的PUT方法不带验证机制,存在安全性问题,所以一般的网站都不用这个方法来进行文件传输。

5.HEAD请求

HEAD请求主要用来获取报文首部

HEAD方法和GET方法一样,只不过不返回报文的主体部分。只是用来确定请求的有效性及资源的更新日期时间等。

6.DELETE请求

DELETE方法主要是用来删除某个资源,是和PUT完全相反的方法。
同时该方法也不带认证机制,所以一般网站并不会对它进行开放使用。

7.OPTIONS请求

OPTIONS方法用来查询:请求的指定资源都支持什么http方法。

Http的各种请求方法(详解)相关推荐

  1. python headr方法_对Python发送带header的http请求方法详解

    简单的header import urllib2 request = urllib2.Request('http://example.com/') request.add_header('User-A ...

  2. c++ post请求_前端工程师进阶:网络请求方法详解,GET和POST的区别

    1 前言 最近看了一些同学的面经,发现无论什么技术岗位,还是会问到 get 和 post 的区别,而搜索出来的答案并不能让我们装得一手好逼,那就让我们从 HTTP 报文的角度来撸一波,从而搞明白他们的 ...

  3. ajax漏洞 console_在实战中可能碰到的几种ajax请求方法详解

    前言 最近在做一个针对单个节点测速的功能页面,测速的逻辑是,测上传速度时,前端传5m数据给server,记录上传和返回数据的时间,测下载速度时,从server下载1m的数据,记录下载和下载成功的时间, ...

  4. HTTP请求方法详解

    Web开发最常见的就是HTTP(超文本传输协议)通信协议,该协议(HTTP)设计的目的是确保服务器与客户端之间的正确通信, HTTP请求方法并不是只有GET和POST,只是最常用的.据RFC2616标 ...

  5. AJAX(XMLHttpRequest)进行跨域请求方法详解(三)

    意:以下代码请在Firefox 3.5.Chrome 3.0.Safari 4之后的版本中进行测试.IE8的实现方法与其他浏览不同. 3,带验证信息的请求 身份验证是Web开发中经常遇到的问题,在跨域 ...

  6. AJAX(XMLHttpRequest)进行跨域请求方法详解(二)

    注意:以下代码请在Firefox 3.5.Chrome 3.0.Safari 4之后的版本中进行测试.IE8的实现方法与其他浏览不同. 2,预检请求 预检请求首先需要向另外一个域名的资源发送一个 HT ...

  7. java爬虫模拟post请求_java爬虫之使用HttpClient模拟浏览器发送请求方法详解

    0. 摘要 0.1 添加依赖 org.apache.httpcomponents httpclient 4.5.2 0.2 代码 //1. 打开浏览器 创建httpclient对象 Closeable ...

  8. java中drawimage方法_canvas.drawImage()方法详解

    首先看html5.js /** @param {Element} img_elem @param {Number} dx_or_sx @param {Number} dy_or_sy @param { ...

  9. node作为java中间间_node作为中间服务层如何发送请求(发送请求的实现方法详解)...

    GET请求: var http = require('http'); var qs = require('querystring'); var data = { a: 123, time: new D ...

  10. 方舟服务器怎么请求芯片,方舟指令哔哩芯片这么获得?哔哩芯片获得方法详解分享...

    方舟指令哔哩芯片这么获得?哔哩芯片是目前游戏在10月25日更新后上线的道具,小伙伴们可能通过参加比赛获取哦!下面是小编分享的获取途径详解,感兴趣的可以一起来关注下哦! 哔哩芯片怎么获得? 活动时间: ...

最新文章

  1. Linux 命令 top 学习总结
  2. 孟宪会老师推荐的一部C#图解教程
  3. 热门搜索怎么实现_三个步骤教你学会,搜索引擎霸屏技术!
  4. Python基础学习篇-2-数值运算和字符串
  5. selenium报错解决 ElementNotInteractableException,element not interactable
  6. 脚手架-- yarn link后,Error: Cannot find module 。。。
  7. 如何进行多语言发布,做国际化开发
  8. Jackson2 json 转换Bean, Bean 里没有对应的值 jackson Un的解决方式
  9. 数字图像处理与Python实现-图像降噪-指数型低通滤波
  10. hive:函数:自定义函数(笔记)
  11. 什么是微信公众号矩阵模式?
  12. 情人节这些智能设备可千万别送女友
  13. JavaSE 实战 中奖判断
  14. 数学建模常用算法—优劣解距离法(TOPSIS)
  15. 计算机junit测试类,复利计算器4.0之再遇JUnit
  16. 算法的时间复杂度到底怎么算?
  17. 微博设置 和 逻辑
  18. OLAP引擎 :CH Doris impala+kudu优缺点分析
  19. [编程题] 字符迷阵
  20. 计算机老是重启进不了桌面,电脑开机反复重启怎么回事 电脑开机后进不去桌面界面全黑...

热门文章

  1. win7下搭建小程序服务器,重磅!微信PC端支持小程序直接开启 适配Win7及以上系统...
  2. 在Eclipse MarketPlace网页中安装插件显示Eclipse:Drag to Install!
  3. 因果推断杂记——因果推断与线性回归、SHAP值理论的关系(十九)
  4. mouseenter 与mouseover 区别
  5. Instant-Meshes-标架场方法
  6. Scratch学习有什么优点
  7. 软件命名规范(版本号)
  8. 根据当前日期获取一年前的日期
  9. STM32寄存器编程思路 - 从51到stm32开发入门,真干货
  10. 高数(下) 第八章:空间解析集合与向量代数