2.3 告知服务器意图的HTTP方法以及使用方法下达命令

2023-12-26 00:32

本文主要是介绍2.3 告知服务器意图的HTTP方法以及使用方法下达命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本节我们主要介绍HTTP1.1中可使用的方法,方法的作用在于,可以指定请求的资源按期望产生某种行为。


首先下面我们通过一张图片来简单了解一下HTTP各种方法的功能。

                                         

......................................................

然后我们通过举例来详细介绍一下各种方法的使用:


1.GET:获取资源

           GET方法用来请求访问已被URI识别的资源,指定的资源经服务器端解析后返回响应内容。

            使用GET方法请求响应举例:

           (1)

            请求:   GET /index.html HTTP/1.1

                            Host:www.hacker.jp

            响应:   返回 index.html的页面资源

           (2)

            请求:  GET /index.html HTTP/1.1

                          Host: www.hacker.jp

                          if-Modified-since: Thu, 12 Jul 2012 07:30:00 GMT

             响应:  仅返回2012年7月12日7点30分以后更新过的index.html页面资源。如果未有内容更新,则以状态码304 Not Modified 作为相应返回。

2.POST:传输实体主体

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

             使用POST方法请求响应举例:

             请求:  POST /submit.cgi HTTP/1.1

                           Host: www.hacker.jp

                           Content-Length: 1560(1560字节的数据)

              响应: 返回 submit.cgi 接收数据的处理结果。

3.PUT: 传输文件

              PUT方法用来传输文件,要求在请求报文的主体中包含文件内容,然后保存到请求URI指定的位置。

              使用PUT方法请求响应举例:

               请求:   PUT /example.html HTTP/1.1

                              Host: www.hacker.jp

                              Content-Type: text/html

                              Content-Length: 1560 (1560字节的数据)

                响应: 响应返回状态码 204 No Content (比如: 该html文件已存在于服务器上)

                该响应的意思是请求执行成功了,但无数据返回,一般用于客户端向服务器端发送请求,而对客户端不需要发送新信息内容的情况。

4.HEAD: 获得报文首部

              HEAD方法与GET方法一样,只是不返回报文主体部分。(一般用于确认URI的有效性及资源更新的日期时间等)

              使用HEAD方法请求响应举例:

              请求:  HEAD /index.html HTTP/1.1

                            Host: www.hacker.jp

              响应: 返回与index.jp有关的响应首部

5.DELETE:删除文件

             DELETE方法用来删除文件,是与PUT相反的方法。也就是说,DELETE方法安请求URI删除指定的资源。

             使用DELETE方法请求响应举例:

             请求: DELETE /example.html HTTP/1.1

                          Host: www.hacker.jp

             响应: 响应返回状态码 204 No Content (该html已从该服务器上删除)

5.OPTIONS:询问支持的方法

             OPTIONS 方法用来查询针对请求URI指定的资源支持的方法。

             使用OPTIONS方法请求响应举例:

             请求: OPTIONS * HTTP/1.1

                          Host: www.hacker.jp

             响应: HTTP/1.1 200 OK

                           Allow: GET, POST,HEAD,OPTIONS (返回服务器支持的方法)

6.TRACE: 追踪路径

             TRACE 方法是让Web服务器端将之前的请求通信环回给客户端的方法。 

              发送请求时,在Max-Forwards首部字段中填入数值,每经过一个服务器端就将该数字减一,当数值刚好减到0时,就停止继续传输,最后接收到请求的服务器端则返回状态码 200 OK的响应。

              使用TRACE 方法请求响应举例:

               请求: TRACE / HTTP/1.1

                            Host: hacker.jp

                            Max-Forwards: 2 (表示中途经过两个代理服务器)

               响应: HTTP/1.1 200 OK

                            Content-Type: message/http

                            Content-Length: 1024


                            

                            TRACE / HTTP/1.1

                            Host: hacker.jp

                            Max-Forwards: 2  (返回响应包含请求内容)

  从上例我们不难看出,客户端通过TRACE 方法可以查询发送出去的请求是怎样被加工修改的。

7.CONNECT:要求用隧道协议连接代理

                   CONNECT 方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。 主要使用SSL(安全套接层)和TLS(传输层安全)协议把通信内容加密后经网络隧道传输。

                   使用CONNECT方法请求响应举例:

                   请求:CONNECT proxy.hacker.jp:8080 HTTP/1.1

                                Host: proxy.hacker.jp

                    响应: HTTP/1.1 200 OK (之后进入网络隧道)



这篇关于2.3 告知服务器意图的HTTP方法以及使用方法下达命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/537508

相关文章

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件

python使用try函数详解

《python使用try函数详解》Pythontry语句用于异常处理,支持捕获特定/多种异常、else/final子句确保资源释放,结合with语句自动清理,可自定义异常及嵌套结构,灵活应对错误场景... 目录try 函数的基本语法捕获特定异常捕获多个异常使用 else 子句使用 finally 子句捕获所

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时