在http1.1协议中,共定义了8种可以向服务器发起的请求(这些请求也叫做方法或动作),本文对这八种请求做出简要的介绍:

1、PUT:put的本义是推送

这个请求的含义就是推送某个资源到服务器,相当于是上传。

2、POST:post可以理解为提交

这个请求会将客户端的资源提交到服务器上,通过URI 标识,告诉服务器要提交什么资源,如果资源不存在,那么就会新增,如果已经存在了,那么就会覆盖。

3、DELETE:

这个请求会删除服务端的某个资源。

4、GET:

这是一个向服务端资源的一个请求,他通过将所要资源的标识,如用户名、关键字(admin、keyword)放在url中(所以这个请求不安全),一并传送给服务器,然后服务器会根据传入参数返回具体的结果(如请求错误、请求的具体资源)

5、HEAD:

这个请求与GET请求是一样的,都是通过传入参数,要求返回指定的结果。不同之处在于,HEAD只要返回报文的头部就可以,不需要返回全部信息.这个方法主要用于查看资源是否存在,同时是并不关心资源的具体内容。

6、TRACE:trace可以理解为跟踪

这是一个将服务器所收到请求回显给客户端的请求,主要用于测试或诊断。

7、OPTIONS:option的本义是选择、选项。

这个请求的意义是:返回对于指定资源,我们可以使用的请求类型。

这个方法在正常工作中使用的比较少,它一般用途是,我们在正式请求资源之前,先看看对于资源都可以使用那些请求,然后再做出具体的请求。利用这个特性我们也可以查看服务器的性能。

对于我们具体请求哪个资源是通过URI来标识的。

发起请求后,服务器会返回一个带有"Allow"的头,在正文中会找到该资源对应可以使用的方法。

当这个URI我们用'*',此时我们请求的就是整个服务器,而并非某一个具体的资源。

此时对服务器发起OPTIONS请求,相当于是ping,根据对服务器收发包的情况就可以分析出服务器的性能了。

8、CONNECT请求

HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。通常用于SSL加密服务器的链接(经由非加密的HTTP代理服务器)。


注意:这些请求都是区分大小写的,当我们针对某种资源发起的请求,并不被该资源所支持时,服务器会返回一个 405(该请求不被允许)的错误。

当我们发起的请求,服务器不支持,或不认识时,会返回一个501的错误码(该请求未被实现)

http 中定义的八种请求的介绍的更多相关文章

  1. HTTP协议八种请求类型介绍

    HTTP 协议中共定义了八种方法或者叫“动作”来表明对 Request-URI 指定的资源的不同操作方式,具体介绍如下: OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法.也可以利用向W ...

  2. Delphi中定义了四种布尔类型:Boolean,ByteBool,WordBool和LongBool。后面三种布尔类型是为了与其他语言兼容而引入的

    bool是LongBool类型. Delphi中定义了四种布尔类型:Boolean,ByteBool,WordBool和LongBool.后面三种布尔类型是为了与其他语言兼容而引入的,一般情况下建议使 ...

  3. HTTP协议的8种请求类型介绍

    HTTP协议的8种请求类型介绍 转自:http://www.cnblogs.com/liangxiaofeng/p/5798607.html HTTP协议的8种请求类型介绍 HTTP协议中共定义了八种 ...

  4. HTTP 协议的 8 种请求类型介绍

    HTTP 协议的 8 种请求类型介绍 HTTP 协议中共定义了八种方法或者叫“动作”来表明对 Request-URI 指定的资源的不同操作方式,具体介绍如下: OPTIONS:返回服务器针对特定资源所 ...

  5. Java中常见的5种WEB服务器介绍

    这篇文章主要介绍了Java中常见的5种WEB服务器介绍,它们分别是Tomcat.Resin.JBoss.WebSphere.WebLogic,需要的朋友可以参考下 Web服务器是运行及发布Web应用的 ...

  6. 接口测试中模拟post四种请求数据

    https://www.jianshu.com/p/3b6d7aa2043a 一.背景介绍 在日常的接口测试工作中,模拟接口请求通常有两种方法,fiddler模拟和HttpClient模拟. Fidd ...

  7. jQuery中的Ajax几种请求方式

    1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. url (String) : 请求的HTML页的URL地址. data (M ...

  8. jQuery中的Ajax几种请求方法

    在网上查的几种Ajax的请求的方法: jQuery 确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯.废话少说,直接进入正题,我 ...

  9. NIO SelectionKey中定义的4种事件

    SelectionKey.OP_ACCEPT —— 接收连接继续事件,表示服务器监听到了客户连接,服务器可以接收这个连接了 SelectionKey.OP_CONNECT —— 连接就绪事件,表示客户 ...

随机推荐

  1. [Leetcode] Decode Ways

    A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' - ...

  2. Git 常用命令行

    最近在公司的服务器上安装了Git Sever,开始从SVN转向到Git了,整理了一些在Git常用的命令. 取得Git仓库 初始化一个版本仓库 git initClone远程版本库 git clone ...

  3. 一、jquery简介

    认识jquery jquery是有美国人John Resig于2006年创建的一个开元项目,随着被人们的熟知,越来越多的程序高手加入其中,完善和壮大其项目内容:如今已开展成为集javascript.c ...

  4. Java 中多条件排序

    Collections.sort(ghEntityList, new Comparator<GongHuiEntity>() { @Override public int compare( ...

  5. C fwrite

    功能:向文件读入写入一个数据块. 用法:fwrite(const void *buffer,size_t size,size_t count,FILE *stream); (1)buffer:是一个指 ...

  6. Vim,极简使用教程,让你瞬间脱离键鼠切换的痛苦

    注:看大家对Vim仇恨极大,其实它只是一种文本操作方式,可以减少键鼠的切换,从而让编辑文本的操作更迅捷.并不等同于IDE,在我看来,它们是两个是包含关系,IDE可以有Vim编辑模式.Vim或许可以通过 ...

  7. 谈一谈php://filter的妙用

    php://filter是PHP中独有的协议,利用这个协议可以创造很多"妙用",本文说几个有意思的点,剩下的大家自己下去体会.本来本文的思路我上半年就准备拿来做XDCTF2016的 ...

  8. linux suse系统防火墙端口开放配置

    1.切换到root用户下 2.进入到/etc/sysconfig/SuSEfirewall2 3.修改FW_SERVICES_EXT_TCP=" 22 80 8080 8081 8082 8 ...

  9. 定时器中实现数据库表数据移动的功能,Exception in thread "Timer-0" isExist java.lang.NullPointerException定时器中线程报错。

    package com.shawnway.trade.marketdata.constants; import java.sql.SQLException; import java.util.Cale ...

  10. https://yq.aliyun.com/articles/65125?spm=5176.100240.searchblog.18.afqQoU

    https://yq.aliyun.com/articles/65125?spm=5176.100240.searchblog.18.afqQoU