每个Web服务器资源都有一个名字,这样客户端就可以说明他们感兴趣的资源是什么了,服务器资

源名被统称为:统一资源标识符(Uniform Resource Identifier, URI)

Joe的五金店的Web服务器上一个图片资源的URI:

http://www.joes-hardware.com/specials/saw-blade.gif

URI有两种形式,分别为URL和URN,URN仍然处于试验阶段,因此现在所说的URI就是指URL

URL精确地说明了某资源的位置以及如何去访问它,获取资源过程如下:

1:使用HTTP协议,2:进入www.joes-hardware.com主机,3:获取名为/specials/saw-

blade.gif的资源

请求方法

  GET :用于请求服务器发送某个资源

  HEAD: 与GET方法类似,但服务器在响应中只返回首部,不会返回实体的主题部分

  PUT:向服务器写入文档

  

PUT方法的语意就是让服务器用请求的主体部分来创建一个由所请求的URL命名的新文档,或者

如果那个URL已经存在的话,就用这个主体来代替它

  POST:POST方法起初是用来向服务器输入数据,实际上通常会用它来支持HTML的表单,

表单中填好的数据通常会被送给服务器,然后由服务器将其发送到它要去的地方(比如送到一个服

务器网关程序中,然后由这个程序对其进行处理)

注意:POST用于向服务器发送数据,PUT用于向服务器上的资源(例如文件)中存储数据

  TRACE:客户端发起一个请求时,这个请求可能要穿过防火墙,代理,网关或其他一些应用

程序,每个节点都可能修改原始的HTTP请求,TRACE方法允许客户端在最终将请求发送给服务

器时,看看它变成了什么样子

TRACE请求会在目的服务器端发起一个“环回”诊断,行程最后一站的服务器会弹回一条TRACE响

应,并在相应主体中携带它收到的原始请求报文,这样客户端就可以查看在所有中间HTTP应用程

序组成的请求/响应链上,原始报文是否,以及如何被毁坏或修改过

TRACE方法主要用于诊断,验证请求是否如愿穿过了请求/响应链,它是一种很好的工具,可以

用来查看代理和其他应用程序对用户请求所产生的效果

尽管TRACE可以方便用于诊断,它的缺点在于它假定中间应用程序对各种不同类型请求(不同方

法--GET,HEAD,POST等)的处理是相同的,很多HTTP应用程序会根据方法的不同做出不同的处

理,比如,代理可能将POST请求直接发送给服务器,而将GET发送给另一个HTTP应用程序(比

如Web缓存),TRACE并不提供区分这些方法的机制,通常中间应用程序会自行决定对TRACE请求

的处理方式

TRACE请求中不能带有实体的主体部分,TRACE响应的实体主体部分包含了响应服务器收到的请

求的精确副本

  OPTIONS:请求服务器告知其支持的各种功能,可以询问服务器通常支持哪些方法,或者对

某些特殊资源支持哪些方法。(有些服务器可能只支持对一些特殊类型的对象使用特定的操作),这

为客户端应用程序提供了一种手段,使其不用实际访问那些资源就能判断访问各资源的最优方式

  DELETE:请求服务器删除URL所指定的资源,但是客户端应用程序无法保证输出操作一定会被执行,因为HTTP规范允许服务器在不通知客户端的情况下撤销请求

HTTP协议的URI及各种方法的更多相关文章

  1. HTTP 协议中 URI 和 URL 有什么区别?

    HTTP 协议中 URI 和 URL 有什么区别? HTTP = Hyper Text Transfer ProtocolURI = Universal Resource IdentifierURL ...

  2. 警惕使用WebClient.DownloadFile(string uri,string filePath)方法

    原文:警惕使用WebClient.DownloadFile(string uri,string filePath)方法 WebClient.DownloadFile(string uri,string ...

  3. I2C总线协议的软件模拟实现方法

    I2C总线协议的软件模拟实现方法 在上一篇博客中已经讲过I2C总线通信协议,本文讲述I2C总线协议的软件模拟实现方法. 1. 简述 所谓的I2C总线协议的软件模拟实现方法,就是用软件控制GPIO的输入 ...

  4. ORA-12560: TNS: 协议适配器错误的解决方法

    ORA-12560: TNS: 协议适配器错误的解决方法 造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个: 1.监听服务没有起起来.windows平台个一如下操作:开始---程序 ...

  5. cannot open git-upload-pack,cannot open git-receive-pack,Can't connect to any URI错误解决方法eclipse

    cannot open git-upload-pack,cannot open git-receive-pack,Can't connect to any URI错误解决方法eclipse 解决ecl ...

  6. HTTP 协议中 GET 和 POST 方法详解

    GET请求报文分析 1.请求行 请求方法 GET(描述该请求采用了什么请求方法),HTTP 1.0 和 1.1 协议中共包含10种请求方法.不过 HTTP 1.1 中只有8种方法. URI 请求WEB ...

  7. [转载] HTTP 协议中 URI 和 URL 的区别

    出处:https://blog.csdn.net/qq_26975307/article/details/54429760 HTTP = Hyper Text Transfer ProtocolURI ...

  8. HTTP协议中GET和POST方法的区别

    转载 通常的理解 w3schools关于这个问题的解答:HTTP 方法:GET 对比 POST 列出了一般的理解: 方法 GET POST 后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知用户数 ...

  9. WCF开发中将net.tcp协议寄宿到IIS的方法

    1 部署IIS 1.1 安装WAS IIS原本是不支持非HTTP协议的服务,为了让IIS支持net.tcp,必须先安装WAS(Windows Process Activation Service),即 ...

随机推荐

  1. /dev/shm

    /dev/shm/是linux下一个特殊的目录,因为这个目录不在硬盘上,而是在内存里. /dev /shm/需要注意的一个是容量问题,在linux下,它默认最大为内存的一半大小,使用df -h命令可以 ...

  2. sql如何获取一个时间段内的月份

    ),) from master..spt_values where type='P' and dateadd(month,number,'2010-01-01')<='2010-09-01' / ...

  3. Codeforces 622F 「数学数论」「数学规律」

    题意: 给定n和k,求 1 ≤ n ≤ 109, 0 ≤ k ≤ 106 思路: 题目中给的提示是对于给定的k我们可以求出一个最高次为k+1的关于n的通项公式. 根据拉格郎日插值法,我们可以通过k+2 ...

  4. C# odbc

    一直下一步,注意需要 勾选你要连接的库名 odbc 命名空间 System.Data.Odbc

  5. NOIP 2005 过河

    过河 Time Limit: 1000MS   Memory Limit: 65536K 题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石 ...

  6. JNI_Android项目中调用.so动态库实现详解【转】

    转自 http://www.cnblogs.com/sevenyuan/p/4202759.html 1. 在Eclipse中创建项目:TestJNI 2. 新创建一个class:TestJNI.ja ...

  7. 转——Android测试之monkey

    一.为什么要用Monkey 测试?   简单在说就是象猴子一样乱点,为了测试软件的稳定性,健壮性.号称最快速有效的方法.有时候运行相同系列的测试,即使是复杂的测试,但是以相同的顺序和路径,即使一遍又一 ...

  8. Orchard官方文档翻译(三) 通过zip文件手动安装Orchard

    原文地址:http://docs.orchardproject.net/Documentation/Manually-installing-Orchard-zip-file 想要查看文档目录请用力点击 ...

  9. 【测试】模拟一个全表扫描的sql,对其进行优化走索引,并且将执行计划稳定到baseLine。

    ①创建表t3: SQL> create table t3 (id int); Table created. SQL; rows created. ②开启自动捕获并修改时间格式: SQL> ...

  10. 操作系统是怎么工作的——mykernel环境的搭建

    可以参见:https://github.com/mengning/mykernel 首先感谢:http://www.euryugasaki.com/archives/1014 1.搭建实验环境(实验环 ...