HTTP请求和响应2:方法(Method)
方法表明了client希望server对资源运行的动作。经常使用的方法包含:GET、HEAD、POST、PUT、TRACE、OPTIONS和DELETE,每一个server能够实现这些方法中的部分或者所有。以下将对这些方法做一个具体的介绍。
GET
GET /seasonal/index-fall.html HTTP/1.1
Host: www.joes-hardware.com
Accept: *
响应报文例如以下:
HTTP/1.1 200 OK
Content-Type: text/html
Context-Length: 617 //body
HEAD
1)在不获取资源的情况下了解资源的状况。
2)通过查看响应中的状态码,看看某个对象是否存在;
3)通过查看首部。測试资源是否被改动了。
HEAD返回的首部应该和GET返回的首部全然同样。
PUT
请求报文:
PUT /product-list.txt HTTP/1.1
Host: www.joes-hardware.com
Content-type: text/plain
Content-length: 34 //body
响应报文:
HTTP/1.1 201 Created
Location: http://www.joes-hardware.com/product-list.txt
Content-type: text/plain
Context-length: 47 http://www.joes-hardware.com/product-list.txt
POST
请求报文:
POST /inventory-check.cgi HTTP/1.1
Host: www.joes-hardware.com
Content-type: text/plain
Content-length: 18 item-bandsaw 2647
服务端交由相应程序处理后,发送响应报文:
HTTP/1.1 200 OK
Content-type: text/plain
Context-length: 37 The bandsaw model 2647 is in stock!
TRACE
TRACE请求会在目地server端发起一个“环回”诊断,行程最后一站的server会弹回一条TRACE响应,并在响应主体中带上收到的原始请求报文。这样client能够诊断原始报文是否被改动过。
请求报文:
TRACE /product-list.txt HTTP/1.1
Accept:*
Host: www.joes-hardware.com
报文经过代理server后:
TRACE /product-list.txt HTTP/1.1
Host: www.joes-hardware.com
Accept: *
Via: 1.1 proxy3.company.com
server弹回的TRACE响应:
HTTP/1.1 200 OK
Content-type: text/plain
Content-length: 96 TRACE /product-list.txt HTTP/1.1
Host: www.joes-hardware.com
Accept: *
Via: 1.1 proxy3.company.com
TRACE响应经过代理server后:
HTTP/1.1 200 OK
Content-type: text/plain
Content-length: 96
Via: 1.1 proxy3.company.com TRACE /product-list.txt HTTP/1.1
Host: www.joes-hardware.com
Accept: *
Via: 1.1 proxy3.company.com
TRACE方法主要用于诊断。它基本的缺陷是它假定中间应用程序对各种不同类型请求(GET、HEAD、POST等)的处理都是同样的,假设实际情况不同,那么诊断将不准确。
OPTIONS
请求报文:
OPTIONS * HTTP/1.1
Host: www.joes-hardware.com
Accept: *
响应报文:
HTTP/1.1 200 OK
Allow: GET, POST, PUT, OPTIONS
Context-length: 0
DELETE
请求报文:
DELETE /product-list.txt HTTP/1.1
Host: www.joes-hardware.com
响应报文:
HTTP/1.1 200 OK
Content-type: text/plain
Content-length: 54 //响应消息
扩展方法
HTTP请求和响应2:方法(Method)的更多相关文章
- python通过get,post方式发送http请求和接收http响应的方法,pythonget
python通过get,post方式发送http请求和接收http响应的方法,pythonget 本文实例讲述了python通过get,post方式发送http请求和接收http响应的方法.分享给大家 ...
- iOS开发——网络篇——HTTP/NSURLConnection(请求、响应)、http响应状态码大全
一.网络基础 1.基本概念> 为什么要学习网络编程在移动互联网时代,移动应用的特征有几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图只有通过网络跟外界进行数据交互.数据更新, ...
- struts2基础——请求与响应、获取web资源
一.请求与响应 Action1.含义:(1) struts.xml 中的 action 元素,也指 from 表单的 action 属性,总之代表一个 struts2 请求.(2) 用于处理 Stru ...
- 写一个ActionFilter检测WebApi接口请求和响应
我们一般用日志记录每次Action的请求和响应,方便接口出错后排查,不过如果每个Action方法内都写操作日志太麻烦,而且客户端传递了错误JSON或XML,没法对应强类型参数,请求没法进入方法内, 把 ...
- Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- laravel框架总结(一) -- 请求和响应
一.laravel请求 1.获取请求 1>获取请求的 URI path 方法会返回请求的 URI.所以,如果接收到的请求目标是 http://domain.com/foo/bar,那么 path ...
- HeadFirst Jsp 04 (请求和响应作为servlet)
servlet 的存在就是为了客服服务, servlet的任务是得到一个客户的请求, 再发回一个响应. 由上图可知, web 容器会在启动后就加载所有的servlet类, 并为之创建实例和初始化 注意 ...
- http请求返回响应码的意思
HTTP 状态响应码 意思详解/大全 HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码.它由 RFC 2616 规范定义的,并得到RFC 2518. ...
- HTTP基础:URL格式、 HTTP请求、响应、消息
HTTP URL 格式: http://host[:port][abs_path] 其中http表示要通过HTTP协议来定位网络资源. host表示合法的Internet主机域名或IP地址(以点分十进 ...
- CakePHP之请求与响应对象
请求与响应对象 请求与响应对象在 CakePHP 2.0 是新增加的.在之前的版本中,这两个对象是由数组表示的,而相关的方法是分散在RequestHandlerComponent,Router,Dis ...
随机推荐
- Hibernate中inverse="true"的理解
Hibernate中inverse="true"的理解 举例如下 转自:http://lijiejava.iteye.com/blog/776587 Customer类: publ ...
- jQuery操作下拉列表以及单选多选框
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- [codevs_1237]餐巾计划问题
题目描述 一个餐厅在相继的N 天里,每天需用的餐巾数不尽相同.假设第i天需要ri块餐巾(i=1,2,…,N).餐厅可以购买新的餐巾,每块餐巾的费用为p分:或者把旧餐巾送到快洗部,洗一块需m天,其费用为 ...
- xCode中去除“Implicit declaration of function 'sysctl' is invalid in C99” 警告
http://blog.csdn.net/dreambegin/article/details/8609121 一般出现该问题是因为通过C调用了unix/linux 底层接口,所以需要调整c语言的编译 ...
- centos tc 端口限速
#http://www.fx114.net/qa-178-108967.aspx#http://professor.blog.51cto.com/996189/1569481/#http://blog ...
- mybatis之<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>的含义
转自:http://blog.csdn.net/qq_33054511/article/details/70490046 <trim prefix="" suffix=& ...
- 解决Django的admin界面中文乱码
解决Django的admin界面中文乱码 问题陈述 最近在做一个很小的Django项目时,使用了自带的sqlite作为数据库.后台admin界面在显示中文数据时,总会遇到乱码.这里截取一小部分代码: ...
- flask的orm框架(SQLAlchemy)-操作数据
# 原创,转载请留言联系 Flask-SQLAlchemy 实现增加数据 用 sqlalchemy 添加数据时,一定要注意,不仅仅要连接到数据表,并且你的创建表的类也必须写进来.而且字段和约束条件要吻 ...
- Fiddler抓包3-查看get与post请求【转载】
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/p/6719717.html 前言 前面两篇关于Fiddler抓包的一些基本配置,配置完之后就可 ...
- [xsy2213]tower
题意:给一个地图,地图上的每个位置是空地或一个炮或一些敌人,给定每个炮的方向(上/下/左/右),每个炮只能打一个位置且炮弹轨迹不能相交,问最多打到多少敌人 原题貌似是TC SRM 627的题,题解在这 ...