JSP总结一:HTTP协议 android软件开发教程

  次阅读 作者:智能小宝 来源:互联网 2016-03-01 10:50 我要评论(0)

Http协议由Tim Berners-Lee(被称为Web之父)发明。Http协议是完全基于文本的。浏览器通过http协议和服务器交互,默认是80端口。也可以显式的在URL中指出端口号。比如:http://localhost:8080/index.html。Http协议是一种无状态协议,并且不适合实时的获取数据的应用,因为过多实时的客户端和服务端的交互将会导致网络的频繁通信并受到带宽的限制。Http协议也不能告诉服务器客户的请求是如何产生的。这使得B/S比C/S实现上难度较大。浏览器主要有两种命令和服务器交互,一种叫Get,另一种叫Post。逻辑上看,Get命令相当于读操作,向服务器发出请求,然后获取数据,Post命令向服务器发出执行某个动作的指令,有可能会修改服务器上的某些数据,因此是不可逆的操作。我们要防止用户不断的快速刷新页面引发的Post命令,通常一个提示对话框让用户确认操作是否真的有必要进行是一种常用的方法。Get命令的格式:请求行,请求首部,请求主体(可选)。GET /index.html HTTP/1.0Host: www.gefionsoftware.comUser-Agent: Mozilla/4.5 [en] (WinNT;I)Accept: image/gif, image/jpeg, image/pjpeg, image/ping,*/*Accept-Language : enAccept-Charset : iso-8859-1,*,utf-8上面的例子里面,第一行是请求行,表明是GET命令,请求的资源是index.html ,协议是HTTP1.0。后面所有的都是请求首部,没有请求主体。服务器的应答格式:状态行,应答首部,应答主体(可选)。HTTP/1.0 200 OKLast-Modified: Mon, 20 Dec 2001:23:26:42 GMTDate: Tue, 11 Jan 2002 20:52:40 GMTStatus:200Content-Type: text/htmlServlet-Engine: Tomcat Web Server/4.0.1Content-Length: 59 <html><body><h1>Hello,world!</h1></body></html>第一行是状态行,协议+状态值+状态描述。然后是应答首部,最后一段html代码是应答主体。我们经常能看到状态值为401的回应,代表未被授权。如果应答主体比较复杂,里面包含了图片或者其他资源的链接。客户端会自动再发出一个Get命令获取相关资源。通常这些动作是并行的,不过每个浏览器的行为不一样:IE似乎表现成串行,而Firefox会先将第一个应答主体的内容显示出来,在逐个显示内嵌图片的应答主体。Get命令还可加上请求参数。请求参数可以接着url后面,比如:http://localhost:8080/index.html?a=2&b=7 ?开始,&间隔每个参数名称和值对。这种方式称为查询字符串。由于使用了?,=,&来作为分隔符,所以其他的字符在发送时都采用了URL编码方式,以避免混淆。欢迎光临学网,收藏本篇文章 [1] [2]

$False$

也可以将请求参数(格式相同)作为请求主体的一部分发送,不过这通常是Post命令的做法。

Post命令格式:

POST forecast HTTP/1.0

Host: www.gefionsoftware.com

User-Agent:Mozilla/4.5 [en] (WinNT; I)

Accept: image/gif, image/jpeg, image/pjpeg,image/png, */*

Accept-language: en

Accept-charset: iso-88569-1,*,utf-8

city=Hermosa+Beach&state=CA

Post行中的 forecast是action的名称,后面是协议名。注意最后一行的查询字符串,没有?开头,并且是嵌入在Post主体中的。通常Post由form表单触发。比如上面的命令对应的form表单为:

<form action: “/forecast” method=”POST”>

City: <input name=”city” type=”text”>

State: <input name=”state” type=”text>

<p>

<input type=”SUBMIT”>

</form>

注意,这里第一行加了属性method=”POST”,如果不加的话,默认为GET。

HTTP协议的其它方法还有OPTIONS,HEAD,PUT,DELETE,TRACE等五个。但是这些方法使用的很少。

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...