Http的各种请求方法(详解)
摘要
我们知道,当我们访问各种网页的时候,之所以能够看到页面,根本原因是发送了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的各种请求方法(详解)相关推荐
- python headr方法_对Python发送带header的http请求方法详解
简单的header import urllib2 request = urllib2.Request('http://example.com/') request.add_header('User-A ...
- c++ post请求_前端工程师进阶:网络请求方法详解,GET和POST的区别
1 前言 最近看了一些同学的面经,发现无论什么技术岗位,还是会问到 get 和 post 的区别,而搜索出来的答案并不能让我们装得一手好逼,那就让我们从 HTTP 报文的角度来撸一波,从而搞明白他们的 ...
- ajax漏洞 console_在实战中可能碰到的几种ajax请求方法详解
前言 最近在做一个针对单个节点测速的功能页面,测速的逻辑是,测上传速度时,前端传5m数据给server,记录上传和返回数据的时间,测下载速度时,从server下载1m的数据,记录下载和下载成功的时间, ...
- HTTP请求方法详解
Web开发最常见的就是HTTP(超文本传输协议)通信协议,该协议(HTTP)设计的目的是确保服务器与客户端之间的正确通信, HTTP请求方法并不是只有GET和POST,只是最常用的.据RFC2616标 ...
- AJAX(XMLHttpRequest)进行跨域请求方法详解(三)
意:以下代码请在Firefox 3.5.Chrome 3.0.Safari 4之后的版本中进行测试.IE8的实现方法与其他浏览不同. 3,带验证信息的请求 身份验证是Web开发中经常遇到的问题,在跨域 ...
- AJAX(XMLHttpRequest)进行跨域请求方法详解(二)
注意:以下代码请在Firefox 3.5.Chrome 3.0.Safari 4之后的版本中进行测试.IE8的实现方法与其他浏览不同. 2,预检请求 预检请求首先需要向另外一个域名的资源发送一个 HT ...
- java爬虫模拟post请求_java爬虫之使用HttpClient模拟浏览器发送请求方法详解
0. 摘要 0.1 添加依赖 org.apache.httpcomponents httpclient 4.5.2 0.2 代码 //1. 打开浏览器 创建httpclient对象 Closeable ...
- java中drawimage方法_canvas.drawImage()方法详解
首先看html5.js /** @param {Element} img_elem @param {Number} dx_or_sx @param {Number} dy_or_sy @param { ...
- node作为java中间间_node作为中间服务层如何发送请求(发送请求的实现方法详解)...
GET请求: var http = require('http'); var qs = require('querystring'); var data = { a: 123, time: new D ...
- 方舟服务器怎么请求芯片,方舟指令哔哩芯片这么获得?哔哩芯片获得方法详解分享...
方舟指令哔哩芯片这么获得?哔哩芯片是目前游戏在10月25日更新后上线的道具,小伙伴们可能通过参加比赛获取哦!下面是小编分享的获取途径详解,感兴趣的可以一起来关注下哦! 哔哩芯片怎么获得? 活动时间: ...
最新文章
- Linux 命令 top 学习总结
- 孟宪会老师推荐的一部C#图解教程
- 热门搜索怎么实现_三个步骤教你学会,搜索引擎霸屏技术!
- Python基础学习篇-2-数值运算和字符串
- selenium报错解决 ElementNotInteractableException,element not interactable
- 脚手架-- yarn link后,Error: Cannot find module 。。。
- 如何进行多语言发布,做国际化开发
- Jackson2 json 转换Bean, Bean 里没有对应的值 jackson Un的解决方式
- 数字图像处理与Python实现-图像降噪-指数型低通滤波
- hive:函数:自定义函数(笔记)
- 什么是微信公众号矩阵模式?
- 情人节这些智能设备可千万别送女友
- JavaSE 实战 中奖判断
- 数学建模常用算法—优劣解距离法(TOPSIS)
- 计算机junit测试类,复利计算器4.0之再遇JUnit
- 算法的时间复杂度到底怎么算?
- 微博设置 和 逻辑
- OLAP引擎 :CH Doris impala+kudu优缺点分析
- [编程题] 字符迷阵
- 计算机老是重启进不了桌面,电脑开机反复重启怎么回事 电脑开机后进不去桌面界面全黑...
热门文章
- win7下搭建小程序服务器,重磅!微信PC端支持小程序直接开启 适配Win7及以上系统...
- 在Eclipse MarketPlace网页中安装插件显示Eclipse:Drag to Install!
- 因果推断杂记——因果推断与线性回归、SHAP值理论的关系(十九)
- mouseenter 与mouseover 区别
- Instant-Meshes-标架场方法
- Scratch学习有什么优点
- 软件命名规范(版本号)
- 根据当前日期获取一年前的日期
- STM32寄存器编程思路 - 从51到stm32开发入门,真干货
- 高数(下) 第八章:空间解析集合与向量代数