HTTP协议的URI及各种方法

每个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规范允许服务器在不通知客户端的情况下撤销请求

时间: 2024-12-29 23:05:27

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

Uri的getPathSegments()方法。

Uri的getPathSegments()方法返回的是一个元素为String的List,每个元素都是从Uri截取出来的一部分.(segment的意思就是“部分,段”).下标从零开始.比如有如下URI: 1 Uri uri = Uri.parse("content://com.haha.mycontentproviderdemo.NoteContentProvider/notes"); 我们对这个uri再进行延长一下,如下: 1 Uri myUri = Uri.withAppendedP

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

造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个: 1.监听服务没有起起来.windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务. 2.database instance没有起起来.windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID. 3.注册表问题.regedit,然后进入HK

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

原文:警惕使用WebClient.DownloadFile(string uri,string filePath)方法 WebClient.DownloadFile(string uri,string filePath)方法用来请求一个url,并将请求内容存到本地的一个文件中. 使用这个方法,如果filePath是一个已经存在的文件,如果DownloadFile的执行web请求的过程中发生了错误,则会删除掉filePath以前的内容.以下是验证代码,和另一种选择方案. class Program

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

I2C总线协议的软件模拟实现方法 在上一篇博客中已经讲过I2C总线通信协议,本文讲述I2C总线协议的软件模拟实现方法. 1. 简述 所谓的I2C总线协议的软件模拟实现方法,就是用软件控制GPIO的输入.输出和高低电平变化,来模拟I2C总线通讯过程中SCL.SDA的电平变化来实现的. 2. I2C总线的封装 每个处理器对应的GPIO操作都有差异,即使是同一款处理器,不同的人也会有不同的GPIO封装风格,就以我个人习惯用的GPIO方法为例来进行讲解.我习惯上将GPIO的组和位封装为一个结构体,这样使

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 解决eclipse中git插件中的cannot open git-upload-pack问题 网络上搜索到的解决方式:打开eclipse中的windows-->Preferences-->Team-->Git-->Configuration-->User Settings.然后点Add E

HTP协议中URI和URL区别

URL(uniform  resource  location ):统一资源定位符 URI(uniform  resource  identifier):统一资源标志符 URI:可以表示一个域,也可以表示一个资源,是一个字符串格式规范,并没有指明用途:URL:只能表示一个域,是资源定位的规范,包括网址 服务器 文件路径 1.URI是个纯粹的句法结构,用于指定标志web资源的字符串的各个不同部分,URL是URI 的一个特例,它包含了定位web资源的足够信息:笼统的说,每个URL都有一个URI,但不

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

转载 通常的理解 w3schools关于这个问题的解答:HTTP 方法:GET 对比 POST 列出了一般的理解: 方法 GET POST 后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知用户数据会被重新提交). 书签 可收藏为书签 不可收藏为书签 缓存 能被缓存 不能缓存 编码类型 application/x-www-form-urlencoded application/x-www-form-urlencoded 或 multipart/form-data.为二进制数据使用多重编码.

HTTP协议中的典型请求方法

一.GET 请求获取URI所指定的资源.这个资源通常包含在响应消息的实体中返回给请求者. 二.HEAD 此方法与GET方法类似,只不过服务器不能在响应消息里包含资源内容,只返回头信息. 三.POST 请求源服务器将请求消息中包含的实体作为请求资源的一个从属物.POST可以完成以下功能: (1)对服务器上已存在资源进行注释 (2)发布消息给一个公告板.新闻组.邮件列表,或者相似的文章组 (3)提供一个数据块,如提交一个表单给数据处理过程 (4)通过追加操作来扩展数据库 四.PUT 请求服务器把请求

(笔记)CanOpen协议【CanFestival】移植方法 支持VC、QT、STM32

转自http://bbs.21ic.com/icview-878522-1-1.html 前段时间学习了CanOpen协议,到网上下载的CanFestival3-10源码,移植到VC.QT.STM32等平台,由于网上的资源较少,走了不少弯路,移植好使用过程中才逐渐暴露出各种问题,比如OD字符串传输.心跳时间不准确等等,现在已经解决了遇到的所有问题,移植出来的工程能够完好支持CanOpen协议,花了点时间,整理出一个简单易用的移植方法说明,也写了一些比较实用的调试工具,本来还想整理SDO.PDO.