`
mushme
  • 浏览: 795433 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

HTTP请求方法

 
阅读更多
首先说下http的几种请求方法吧:
OPTIONS :客户端查询服务器对与某URL允许的通信选项
GET :从服务器获取URL对应的资源
HEAD :除了服务器响应中不能包含消息体,该方法与GET一样。用于只需少数元信息的情况
POST :被设计用来注解、修改URL所对应的资源
PUT :被设计用来修改或创建资源。当URL对应的资源存在时,则提交的作为新版本,否则新建资源
DELETE :被设计用来删除URL对应的资源
TRACE :主要用来测试。服务器将最终接收到的请求本身发送回来,作为客户端诊断依据
CONNECT :保留的方法名,用于代理切换隧道

一. OPTIONS
作用:获得请求/响应过程中,目标资源(URI指定的资源)可以使用的通信选项信息;检查服务器的性能。

注意:该方法的响应是不能缓存的。
二. GET
作用:获取被请求URI指定的信息。
注意:该方法的响应是可缓存的(如果此响应满足HTTP缓存的要求)。
说明:
(1) 如果请求消息包含If-Modified-Since,If-Unmodified-Since,If-Match,If-None-Match或者If-Range头域,GET的语义将变成“条件GET”
    ,它会请求满足条件头域的实体,其目的是为了减少不必要的网络使用;
(2) 如果请求方法包含一个Range头域,那么GET方法就变成“部分Get”,它只会从服务器获取实体的部分数据(客户端已经拥有的实体数据不会获取),
    其目的是为了减少不必要的网络使用。
三. HEAD
作用:获取请求实体的头域信息而不需要传输实体主体。它经常被用来测试超文本链接的有效性,可访问性,和最近的改变。
注意:该方法的响应是可缓存的。
四. POST
作用:请求服务器,让其接受请求中的实体,以作为被请求资源的一个新的从属物。
注意:
(1) 该方法的响应是不可缓存的,除非响应里有合适的Cache-Control或者Expires头域;
(2) 状态为303的响应能被用户代理利用,从而获得可缓存的响应。
说明:POST方法的实际功能由服务器决定,并且经常依赖于请求URI。
五. PUT
作用:把请求里的实体存储到被请求的资源中。
注意:该方法的响应是不可缓存的。
说明:
(1) 如果被请求的资源已经存在,那么请求里的实体,应当被作为被请求资源实体的最新修改版本;
(2) 如果被请求的资源不存在,且此资源被用户代理定义为一个新资源,那么服务器就应该根据请求里的实体创建该资源;
(3) 如果一个新资源被创建了,服务器必须向用户代理发送201(已创建)响应;
(4) 如果已存在的资源被改变了,那么服务器应该发送200或204(无内容)响应;
(5) 如果资源不能根据请求URI创建或改变,服务器应该给出一个合适的错误响应,以反应问题的性质;
(6) 实体的接收者不能忽略任何它不理解和不能实现的Content-*头域,且必须返回501(没有实现)响应。
POST与PUT请求最根本的区别,是请求URI的含义不同:
(1) POST请求里的URI,指示一个能处理请求实体的资源(如一段程序);
(2) PUT请求里的URI,标识请求里封装的实体,且服务器不能把此请求应用于其他资源。
六. DELETE
作用:从服务器删除URI指定的资源。
注意:该方法的响应是不能被缓存的。
说明:
(1) 如果响应里包含描述成功的实体,响应应该是200;
(2) 如果DELETE动作还未执行,那么应该以202(已接收)响应;
(3) 如果DELETE动作已执行但响应不包含实体,那么应该以204(无内容)响应。
七. TRACE
作用:让客户端测试到服务器的网络通路。
注意:该方法的响应是不能被缓存的。
说明:
(1) TRACE请求不能包含一个实体;
(2) 如果请求是有效的,响应头应该包含一个"Content-Type: message/http"的头域,响应体应该包含整个请求信息。
八. CONNECT
作用:动态切换到隧道的代理。
注意:这是HTTP 1.1协议规范保留的一个方法。
九. 等幂方法
1. 什么是等幂?
等幂就是值不变性,相同的请求得到相同的响应结果。
2. 哪些方法是等幂的?
GET,HEAD,PUT,DELETE,OPTIONS,TRACE方法都是等幂的。
分享到:
评论

相关推荐

    ios开发 HTTP请求方法

    3. **HTTP请求方法**: HTTP协议定义了多种请求方法,如GET、POST、PUT、DELETE等。在iOS中,你可以通过`NSURLSessionTask`的子类(如`NSURLSessionDataTask`)发起这些请求。GET用于获取资源,POST常用于提交数据,...

    http请求方法的概述及应用.pdf

    ### HTTP请求方法的概述及应用 #### 一、HTTP请求方法的概述 HTTP请求方法是客户端(例如浏览器)与服务器之间交互的一种手段,用于获取特定资源或执行特定操作。这些方法在HTTP协议中定义,遵循典型的客户端-...

    HTTP 请求方法详解-http

    http请求方法

    http请求方法.docx

    ### HTTP请求方法详解 HTTP(超文本传输协议)作为互联网应用中最常见的协议之一,定义了一系列标准的请求方法来实现客户端与服务器之间的数据交互。这些请求方法不仅规定了数据的传输方式,还指定了如何处理资源的...

    HTTP请求方法详解.docx

    ### HTTP请求方法详解 #### 一、概述 HTTP(HyperText Transfer Protocol)是互联网上最常用的网络协议之一,主要用于从Web服务器传输超文本至本地浏览器。客户端与服务器之间的交互是通过发送请求和接收响应实现...

    http请求方法开发教程.docx

    ### HTTP请求方法开发教程知识点详解 #### 一、HTTP简介 HTTP(HyperText Transfer Protocol),即超文本传输协议,是一种应用层协议,主要用于从万维网服务器传输超文本到本地浏览器等应用程序。它是互联网上应用...

    01HTTP请求方法1

    HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它定义了客户端和服务器之间交换数据的格式和交互...在实际应用中,开发者应根据需求选择合适的HTTP请求方法,以确保系统的正常运行和数据的安全传输。

    C语言http请求方法.txt

    http请求方法

    http请求方法客户端对服务器资源执行的操作详细介绍

    ### HTTP请求方法详解 HTTP(超文本传输协议)作为互联网应用中最基础且广泛使用的协议之一,定义了一系列标准的请求方法来指示客户端如何与服务器端进行交互。这些请求方法(也被称作HTTP方法或HTTP动词)是理解...

    详解HTTP请求方法:RESTful API的CRUD操作指南

    ### 详解HTTP请求方法:RESTful API的CRUD操作指南 #### HTTP请求方法概述 HTTP(HyperText Transfer Protocol)作为互联网应用最为广泛的一种网络协议,其核心在于客户端与服务器之间如何进行有效通信。HTTP请求...

    详细介绍客户端与服务器之间进行各种HTTP请求方法及其示例.docx

    ### 客户端与服务器之间进行各种HTTP请求方法及其示例 HTTP(HyperText Transfer Protocol)作为互联网上应用最广泛的协议之一,定义了一系列用于客户端与服务器之间通信的方法。这些方法帮助开发者实现对资源的...

    http请求方法简明教程.txt

    http请求方法 http请求方法简明教程.txt http请求方法简明教程.txt http请求方法简明教程.txt http请求方法简明教程.txt http请求方法简明教程.txt http请求方法简明教程.txt

    常见的八种http请求方法及GET与POST的区别-请求方法get

    http请求方法 常见的八种http请求方法及GET与POST的区别_请求方法get

Global site tag (gtag.js) - Google Analytics