2019独角兽企业重金招聘Python工程师标准>>>

超文本传输协议(HTTP, HyperText Transfer Protocol)是一种无状态的协议,它位于OSI七层模型的传输层。HTTP客户端会根据需要构建合适的HTTP请求方法,而HTTP服务器会根据不同的HTTP请求方法做出不同的响应。

1. HTTP版本与HTTP请求方法

在HTTP的发展过程中,出现了很多HTTP版本,其中的大部分协议都是向下兼容的。在进行HTTP请求时,客户端在请求时会告诉服务器它采用的协议版本号,而服务器则会在使用相同或者更早的协议版本进行响应。

HTTP/0.9

这是HTTP最早大规模使用的版,现已过时。在这个版本中 只有GET一种请求方法,在HTTP通讯也没有指定版本号,也不支持请求头信息。该版本不支持POST等方法,因此客户端向服务器传递信息的能力非常有限。HTTP/0.9的请求只有如下一行:

GET www.itbilu.com

HTTP/1.0

这个版本是第一个在HTTP通讯中指定版本号的协议版本,HTTP/1.0至今仍被广泛采用,特别是在代理服务器中。

HTTP/1.0支持:GETPOSTHEAD三种HTTP请求方法。

HTTP/1.1

HTTP/1.1是当前正在使用的版本。该版本默认采用持久连接,并能很好地配合代理服务器工作。还支持以管道方式同时发送多个请求,以便降低线路负载,提高传输速度。

HTTP/1.1新增了:OPTIONSPUTDELETETRACECONNECT五种HTTP请求方法。

HTTP/2

这个版本是最新发布的版本,于今年5月(2015年5月)做HTTP标准正式发布。HTTP/2通过支持请求与相应的多路重用来减少延迟,通过压缩HTTP头字段将协议开销降到最低,同时增加了对请求优先级和服务器端推送的支持。

2. HTTP请求方法介绍

HTTP/1.1协议中共定义了8种HTTP请求方法,HTTP请求方法也被叫做“请求动作”,不同的方法规定了不同的操作指定的资源方式。服务端也会根据不同的请求方法做不同的响应。

GET

GET请求会显示请求指定的资源。一般来说GET方法应该只用于数据的读取,而不应当用于会产生副作用的非幂等的操作中。

GET会方法请求指定的页面信息,并返回响应主体,GET被认为是不安全的方法,因为GET方法会被网络蜘蛛等任意的访问。

HEAD

HEAD方法与GET方法一样,都是向服务器发出指定资源的请求。但是,服务器在响应HEAD请求时不会回传资源的内容部分,即:响应主体。这样,我们可以不传输全部内容的情况下,就可以获取服务器的响应头信息。HEAD方法常被用于客户端查看服务器的性能。

POST

POST请求会 向指定资源提交数据,请求服务器进行处理,如:表单数据提交、文件上传等,请求数据会被包含在请求体中。POST方法是非幂等的方法,因为这个请求可能会创建新的资源或/和修改现有资源。

PUT

PUT请求会身向指定资源位置上传其最新内容,PUT方法是幂等的方法。通过该方法客户端可以将指定资源的最新数据传送给服务器取代指定的资源的内容。

DELETE

DELETE请求用于请求服务器删除所请求URI(统一资源标识符,Uniform Resource Identifier)所标识的资源。DELETE请求后指定资源会被删除,DELETE方法也是幂等的。

CONNECT

CONNECT方法是HTTP/1.1协议预留的,能够将连接改为管道方式的代理服务器。通常用于SSL加密服务器的链接与非加密的HTTP代理服务器的通信。

OPTIONS

OPTIONS请求与HEAD类似,一般也是用于客户端查看服务器的性能。 这个方法会请求服务器返回该资源所支持的所有HTTP请求方法,该方法会用’*’来代替资源名称,向服务器发送OPTIONS请求,可以测试服务器功能是否正常。JavaScript的XMLHttpRequest对象进行CORS跨域资源共享时,就是使用OPTIONS方法发送嗅探请求,以判断是否有对指定资源的访问权限。 允许

TRACE

TRACE请求服务器回显其收到的请求信息,该方法主要用于HTTP请求的测试或诊断。

HTTP/1.1之后增加的方法

HTTP/1.1标准制定之后,又陆续扩展了一些方法。其中使用中较多的是 PATCH?方法:

PATCH

PATCH方法出现的较晚,它在2010年的RFC 5789标准中被定义。PATCH请求与PUT请求类似,同样用于资源的更新。二者有以下两点不同:

  • PATCH一般用于资源的部分更新,而PUT一般用于资源的整体更新。
  • 当资源不存在时,PATCH会创建一个新的资源,而PUT只会对已在资源进行更新。

转载于:https://my.oschina.net/u/2428630/blog/3006368

http的请求方法 GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE 说明相关推荐

  1. java option请求_面试官:说说你对 options 请求的理解

    什么是 options 请求 我们可以看下 MDN 中的一段描述: ★ HTTP 的 OPTIONS 方法 用于获取目的资源所支持的通信选项.客户端可以对特定的 URL 使用 OPTIONS 方法,也 ...

  2. Web安全-Tomcat禁用Web服务器内置不安全请求方法

    1. 背景说明 Web安全测试中,会要求屏蔽非必要的不安全Http请求方法.一般要求保留get和post,其他的方法一般屏蔽,比如:OPTIONS,DELETE等. 本文主要收集业务系统中,不同时期, ...

  3. HTTP简介、请求方法与响应状态码

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! Https相关的文章,请看这一篇:TCP.IP协议族之数字签名与HTTPS详解 接下来想系统的回顾 ...

  4. restful可以转发么_什么是RESTFUL?REST的请求方法有哪些,有什么区别?

    大家好,我是IT修真院上海分院第3期学员,一枚正直善良的java程序员,今天给大家分享一下,修真院java任务中的一个知识点:什么是RESTFUL?REST的请求方法有哪些,有什么区别? restFu ...

  5. GET和POST两种基本请求方法的区别

    GET和POST两种基本请求方法的区别 回退 回退时无害 会再次提交请求 记录 URL可被记录, 用于再访问 不可以 缓存 主动缓存 可手动设置 编码方式 只进行url编码 多种编码方式 参数长度 有 ...

  6. 基于hi-nginx的web开发(python篇)——动态路由和请求方法

    hi.py 的提供的路由装饰器接受两个参数,第一个参数指定动态路由的正则模式,第二个参数指定同意的http请求方法列表. 比如: 1 @app.route(r"^/client/?$&quo ...

  7. Postman接口测试之POST、GET请求方法

    一.基础知识 1.HTTP的五种请求方法:GET, POST ,HEAD,OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法. GET请求:请求指定的页面信息,并返回实体 ...

  8. TCP/IP协议族(一) HTTP简介、请求方法与响应状态码

    接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单 ...

  9. 网络:HTTP的请求方法

    http请求方式 如何发送http有很多种方式,但是最常用的就是POST和GET. 其他的有些出于安全性的考虑一般都不建议使用.那么POST与GET有什么区别呢? 1 使用目标不同: POST与GET ...

  10. HTTP协议、HTTP请求方法、常见状态码、HTTP消息

    HTTP协议 客户端请求,服务端响应.浏览器与服务器不建立持久连接,响应后连接失效. HTTP请求方法 一.GET GET方法用于获取请求页面的指定信息. 二.HEAD 除了服务器不能在响应里返回消息 ...

最新文章

  1. 分享:个人是怎么学习新知识的
  2. linux内存cached手动释放
  3. JavaScript高级程序设计学习笔记二(在HTML中使用JavaScript)
  4. docker 推送镜像到私有地址
  5. 那些年帮助我们理解各种姿势、常见协议的大神动图
  6. 模式识别的评价方法:ROC曲线, DET曲线, FPPW, FPPI
  7. Android --- GridLayoutManager 设置了 item 均匀分布,但是无效
  8. 运行 YunYang1994/tensorflow-yolov3 所遇到的一些问题记录
  9. 关抢占 自旋锁_关于Redis分布式锁这一篇应该是讲的最好的了,先收藏起来再看!...
  10. 洛谷P1373 小a和uim之大逃离 动态规划
  11. Spark 机器学习中的线性代数库
  12. 学习hashtable,处理“海量”数据
  13. 手机安装linux发行版,最近发布新版本的Linux发行版汇总 - 2020-02-14
  14. AcWing 1969. 品种邻近(滑动窗口+枚举)
  15. 聊一聊 http2.0
  16. Win10系统中蓝牙串口功能启动方法
  17. 我的计算机老师500,我的老师_作文500字_描写人物的作文_第一范文网
  18. Rime解决二三候选用分号和加减号翻页,以及设置禁止调频的问题
  19. ES2015 模板字符串与字符串扩展方法
  20. html直角三角形怎么实现,直角三角形怎么画

热门文章

  1. 在jQuery和JavaScript中,实现转跳
  2. discuz问题综合
  3. PHP中问号?和冒号: 的作用
  4. 成都东软学院新生周赛(五)
  5. 解决Android 启动模拟器是出现“Failed to allocate memory: 8”错误提示
  6. 检查图形是否为真彩色图形
  7. 前端 --- 关于DOM的介绍
  8. Bootstrap-模态框 modal.js
  9. 冲刺一阶段———个人总结04
  10. PHP递归创建多级目录(一道面试题的解题过程)