孟岩老师将“REST”称为一场Web开发思想的变革,而就我个人理解而言,REST对Mashup应用的价值要远大于对Web应用架构的影响。
这里不想纠缠于REST和MashUp两个概念,关于它们的文章我已经写了一些,不过还暂时不打算发在blog中。
打算介绍一下http协议中涉及的方法,在互联网上搜索了很久,发现中文文章中深究http协议的很少,通常谈到http协议也只是关注于Get和Post两个方法,最多提一下head方法。
因为有需要,所以我就再次做一下科普。
如果可以的话,请进入windows命令行,如果你使用的是非windows操作系统的话,我相信你肯定知道如何进入命令行。
输入:
telnet www.google.com 80
很快你的命令行窗口变得一团漆黑了,而这个时候的你,已经开始访问google的web了。与我们通常使用浏览器后的感觉不同,现在的你无所适从。
如果你愿意尝试,现在的你输入get或者head等都可以获得响应,只不过响应的内容让人有些失望。
通常浏览器会帮助我们构建http的协议头信息,从而向对方服务器发送包,获得响应的http协议头信息和正文内容,再将正文内容解析展示在我们面前。
如果你使用过任何sniffer工具,你都会发现,http协议头中通常我们的起始内容是get或post。虽然浏览器能够帮助我们只是发送head请求,但通常我们不会这样去做。
http协议只有get、post和head方法么?它还包含些什么方法呢?
关于http协议涉及方法的两个名词解释:safe型方法和Idempotent型方法。
safe型方法通常是指不影响服务器端资源的行为,它的操作结果仅仅是读取信息,GET和HEAD多数情况下被认为具有“safe”的特性。
Idempotent型方法正如Idempotent这个词的意思一样,如果一个方法,n次调用与一个独立请求所产生的资源消耗相同,即没有边际损耗,则我们可以认为这类方法是idempotent型方法,get、head、put、delete、options和trace都具有这样的特性。
http协议通常包括的方法有很多,以下我只列出我在http/1.1协议定义中看到的方法:get、post、head、options、put、delete、trace、connect。
get方法用于获取URI资源,是最为常用的一种方法。
post方法用于向指定URI提交内容,服务器端响应其行为,该方法也极为常用。
head方法向URI发送请求,仅仅只需要获得响应的协议头。
put方法用于向URI发送请求,若URI不存在,则要求服务器端根据请求创建资源。当URI存在时,服务器端必须接受请求内容,将其作为URI资源的修改后版本。
delete方法用于删除URI标识的指定资源。
trace方法用于激活服务器端对请求的循环反馈,反馈作为http响应的正文内容被传输回客户端。
connect方法通常被用于使用代理连接。
对于上面提到的这些方法,相信大家如果肯花时间,自然可以在http协议的标准中看到更加详细的内容。但有一点是我需要说明的,以上提到的方法,除了get、post和head可以通过浏览器应用外,其它的方法例如put和delete使用起来有些问题。但ajax的出现为我们提供了一种解决的方式,ajax使用xmlhttprequest进行操作时,在发送请求之前,可以通过设置request type的方式来完成对请求方法的设定。
诸位如果作为servlet开发的人可以尝试一下直接在servlet中实现doPut、doDelete等方法,并在客户端使用ajax对相同的URI使用不同的方法进行请求,相信大家可以玩得愉快:)
发表评论
-
说说如何写分析类文章
2006-02-07 00:59 2018最近两周,在csdn上看到好几篇教人如何写文章的blog,例如 ... -
第三方点评如何发展
2006-02-07 01:02 1167在电子商务世界杂志刊登的《中国电子商务2006年八大电子商务 ... -
博客营销
2006-03-05 10:49 1593本文是我为论文的写作 ... -
广州UG亲历记
2006-03-13 01:30 1012User Group活动我听说的次数很多,亲身参加还是第一次: ... -
买了国外的虚拟主机
2006-05-11 02:29 1084人总是很复杂的,没有 ... -
web应用的跨域访问解决方案
2006-05-14 13:48 2382做过跨越多个网站的Ajax开发的朋友都知道,如果在A网站中,我 ... -
如何获得网站实时代码
2006-05-15 00:12 1296看《Ajax修炼之道》一书的时候,第一次认识了Instant ... -
Javascript的认识层次
2006-08-17 10:35 1019Javascript的普及应用率远比Java高,它与CSS和H ... -
Spring的疑问若干
2006-08-25 07:25 1057关于spring的疑问若干,先提在这。 1、新手达到什么程度可 ... -
攀登爪哇山
2006-08-28 00:43 953以前给别人做过Java方面 ... -
怀平凡心做小事情
2006-08-30 23:21 1100与人交流,逛逛blog,偶 ... -
写在“轻量级开发”聊天活动之后
2006-09-02 07:41 1187因为小蛇,我之前为CSDN ... -
九月最热门的25个开源项目
2006-09-13 08:13 43271. Gaim 即时通讯项目,支持AIM, ICQ, Yaho ... -
EJB3.0的目标
2006-09-18 08:32 1779很多Java开发人员不了解 ... -
别把web开发高手不当高手
2006-09-24 17:23 1050继上次百度被攻击之后 ... -
hibernate学习要点指引
2006-10-24 08:14 1367最近几天,团队有几个人在blog上开始贴自己学习hiberna ... -
Google所有服务列表(2006年10月27日版)
2006-10-25 21:55 2109今天由于搜集Google相关资料的关系,对互联网上的Go ... -
Google的API介绍
2006-10-27 10:26 14716关于Google的APIs,大 ... -
Google搜索风云榜
2006-10-28 00:43 5862在搜索趋势服务领域,百度有百度指数,Google有Google ... -
互联网的思维
2006-11-02 23:14 1569中国网民数量已经突破1.25亿了,光从数量的角度来看,大众已经 ...
相关推荐
在HTTP协议中,通信过程通常由客户端发起请求(Request),服务器接收请求并返回响应(Response)。请求通常包含方法(GET、POST、PUT、DELETE等)、URL、协议版本、请求头和请求主体等部分;响应则包括状态码、响应...
HTTP协议有多种请求方法,其中最常见的是GET和POST。GET方法用于获取资源,数据附在URL后面,通常用于浏览网页;POST方法用于向服务器提交数据,常用于表单提交。除此之外,还有PUT、DELETE、HEAD等其他方法,用于...
1. **捕获并分析HTTP协议报文**:通过工具(本实验中使用的是Ethereal)捕获HTTP协议的交互报文,并对其进行分析,了解HTTP协议的报文结构及其工作流程。 2. **理解HTTP协议的工作机制**:通过对捕获的报文进行分析...
在HTTP协议中,通信通常基于TCP/IP协议栈。一个HTTP通信过程通常包含以下几个步骤: 1. **建立连接**:客户端首先通过TCP连接到服务器的特定端口(默认80或443)。 2. **发送请求**:客户端向服务器发送一个HTTP请求...
要认清HTTP协议的本质,我们需要从以下几个关键点入手: 1. 请求与响应模型:HTTP通信基于请求-响应模型。客户端发起一个HTTP请求到服务器,服务器处理请求并返回一个HTTP响应。请求由方法(如GET、POST)、URL、...
HTTP协议中的状态码、方法和URI(统一资源标识符)都是RESTful设计的重要元素。 1. **资源定位**: URI是资源的唯一标识,如`/users/123`表示用户ID为123的资源。 2. **CRUD操作**: 使用HTTP方法对应资源的操作,GET...
HTTP协议的工作原理: 1. 请求过程:当用户在浏览器中输入URL并按下回车键时,浏览器作为客户端(Client)构造一个HTTP请求报文,包括方法(GET、POST等)、URL、协议版本、头部信息和请求主体(如果有的话)。然后...
在面试中,了解HTTP协议的知识是评估一个开发人员基础网络理解能力的重要标准。以下是对HTTP协议的一些核心知识点的详细解释: 1. **HTTP工作原理**: - HTTP是非对称通信协议,基于请求/响应模型。客户端(如...
在HTTP协议中文版中,可能涵盖以下内容: 1. **HTTP版本**:从HTTP/0.9到HTTP/1.1,再到HTTP/2和HTTP/3,每个版本都引入了新的特性以优化性能,如HTTP/2的多路复用,HTTP/3的QUIC协议等。 2. **请求方法**:详述GET...
它于 1990 年提出,经过多年的发展和完善,目前在 WWW 中使用的是 HTTP/1.0 的第六版,HTTP/1.1 的规范化工作正在进行中。 HTTP 协议的主要特点包括: 1. 支持客户 / 服务器模式 2. 简单快速:客户向服务器请求...
C#实现http协议GET、POST请求 C#实现http协议GET、POST请求 C#实现http协议GET、POST请求 C#实现http协议GET、POST请求 C#实现http协议GET、POST请求
HTTP协议分析工具能够帮助我们深入理解HTTP通信过程,包括请求方法、状态码、头部信息、请求体和响应体等关键元素。 首先,让我们看看JavaScript。JavaScript是一种轻量级的解释性编程语言,常用于网页和网络应用...
在Web开发和网络编程中,对HTTP协议的理解和运用至关重要。 HTTP协议采用了请求/响应模型。在这个模型中,客户端(通常是浏览器)向服务器发送一个HTTP请求,请求中包含了希望获取的信息或者执行的操作。请求由一...
在HTTP协议中,常见的请求方法有GET、POST、PUT、DELETE等。GET用于获取资源,POST用于提交数据,PUT用于更新资源,DELETE用于删除资源。每种方法都有其特定的用途和语义。 HTTP协议的请求和响应可以携带多种类型的...
总结来说,这份"HTTP协议详解PDF"是学习HTTP协议的重要参考资料,它可以帮助开发者和网络从业者深入理解HTTP的工作方式,提高他们在Web开发和网络通信中的专业技能。同时,"更多电子资料.docx"可能是与HTTP协议相关...
下面将详细介绍HTTP协议的实现方法及其在嵌入式系统中的应用。 HTTP协议的实现方法主要包括以下几个方面: 1. HTTP消息结构 HTTP消息包括请求和响应两种类型,它们的结构基本相同。每条消息分为起始行、消息头...
HTTP协议定义了多种请求方法,常见的有GET、POST、PUT、DELETE等: - **GET**:获取资源,是最常用的请求方法,无副作用。 - **POST**:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在...
* 请求行(Request Line):指明了请求的方法、资源的 URL 和协议版本。 * 请求头(Request Header):包含了客户端的一些信息,如用户代理、语言、Cookies 等。 * 请求体(Request Body):包含了客户端发送给...