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规范允许服务器在不通知客户端的情况下撤销请求
HTTP协议的URI及各种方法的更多相关文章
- HTTP 协议中 URI 和 URL 有什么区别?
HTTP 协议中 URI 和 URL 有什么区别? HTTP = Hyper Text Transfer ProtocolURI = Universal Resource IdentifierURL ...
- 警惕使用WebClient.DownloadFile(string uri,string filePath)方法
原文:警惕使用WebClient.DownloadFile(string uri,string filePath)方法 WebClient.DownloadFile(string uri,string ...
- I2C总线协议的软件模拟实现方法
I2C总线协议的软件模拟实现方法 在上一篇博客中已经讲过I2C总线通信协议,本文讲述I2C总线协议的软件模拟实现方法. 1. 简述 所谓的I2C总线协议的软件模拟实现方法,就是用软件控制GPIO的输入 ...
- ORA-12560: TNS: 协议适配器错误的解决方法
ORA-12560: TNS: 协议适配器错误的解决方法 造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个: 1.监听服务没有起起来.windows平台个一如下操作:开始---程序 ...
- 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 ...
- HTTP 协议中 GET 和 POST 方法详解
GET请求报文分析 1.请求行 请求方法 GET(描述该请求采用了什么请求方法),HTTP 1.0 和 1.1 协议中共包含10种请求方法.不过 HTTP 1.1 中只有8种方法. URI 请求WEB ...
- [转载] HTTP 协议中 URI 和 URL 的区别
出处:https://blog.csdn.net/qq_26975307/article/details/54429760 HTTP = Hyper Text Transfer ProtocolURI ...
- HTTP协议中GET和POST方法的区别
转载 通常的理解 w3schools关于这个问题的解答:HTTP 方法:GET 对比 POST 列出了一般的理解: 方法 GET POST 后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知用户数 ...
- WCF开发中将net.tcp协议寄宿到IIS的方法
1 部署IIS 1.1 安装WAS IIS原本是不支持非HTTP协议的服务,为了让IIS支持net.tcp,必须先安装WAS(Windows Process Activation Service),即 ...
随机推荐
- (转)windows下配置nginx+php环境
原文地址 http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html 刚看到nginx这个词,我很好奇它的读法(engine ...
- (转)C#序列化和反序列化小例子
网友关于序列化和反序列化的总结: ①序列化基本是指把一个对象保存到文件或流中,比如可以把文件序列化以保存到Xml中,或一个磁盘文件中 ②序列化以某种存储形式使自定义对象持久化: ③将对象从一个地方传递 ...
- Android——开发环境
sdk manager——>Tools 开发的工具类 sdk manager——>Extras——>Android support Library 支持高版本应用向低版本兼容 sdk ...
- 最小生成树Kruskal算法
Kruskal算法就是把图中的所有边权值排序,然后从最小的边权值开始查找,连接图中的点,当该边的权值较小,但是连接在途中后会形成回路时就舍弃该边,寻找下一边,以此类推,假设有n个点,则只需要查找n-1 ...
- 解决setInterval计时器不准的问题
在js中如果打算使用setInterval进行倒数,计时等功能,往往是不准确的,因为setInterval的回调函数并不是到时后立即执行,而是等系统计算资源空闲下来后才会执行.而下一次触发时间则是在s ...
- MySQL(二)
一.外键 外键是设置当前表中的某一列与别一数据表中的主键列关联.主要目的是控制与外键表中的数据,保持数据一致性,完整性,也就是说:当前表中这一列的数据必须是关联外键列中的某一数据,而且相关联的两个数据 ...
- 查询数据库中表或视图或存储过程的数量 sql 语句
如果一个数据库中表的数量较多的话,那么在统计数据库中表的数量或视图或存储过程的数量时,如果还有一个一个去数,那就太麻烦了,其实可以通过 sql 语句来查询的,sql 语句的查询方法如下: sql se ...
- rsync 参数断点续传
断点续传是使用大写P参数,-P这个参数是综合了--partial --progress两个参数 rsync -avzP /home/hadoop/jdk1..0_73.tar.gz root@10.2 ...
- ZJOI2009 假期的宿舍
题目描述 学校放假了 · · · · · · 有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题.比如 A 和 B 都是学校的学生,A 要回家,而 C 来看B,C 与 A 不认识. ...
- 学习练习 java 验证码练习
String str="1234567890qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM "; int b[]=new ...