JSP总结一:HTTP协议

原创 2007年09月13日 22:26:00

 

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.0
Host: www.gefionsoftware.com
User-Agent: Mozilla/4.5 [en] (WinNT;I)
Accept: image/gif, image/jpeg, image/pjpeg, image/ping,*/*
Accept-Language : en
Accept-Charset : iso-8859-1,*,utf-8
 
       上面的例子里面,第一行是请求行,表明是GET命令,请求的资源是index.html ,协议是HTTP1.0。后面所有的都是请求首部,没有请求主体。
 
       服务器的应答格式:状态行,应答首部,应答主体(可选)。
HTTP/1.0 200 OK
Last-Modified: Mon, 20 Dec 2001:23:26:42 GMT
Date: Tue, 11 Jan 2002 20:52:40 GMT
Status:200
Content-Type: text/html
Servlet-Engine: Tomcat Web Server/4.0.1
Content-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编码方式,以避免混淆。
       也可以将请求参数(格式相同)作为请求主体的一部分发送,不过这通常是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等五个。但是这些方法使用的很少。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

jsp 内置对象HTTP协议

有些对象不用声明就可以在JSP页面的脚本部分使用,这就是JSP的内置对象。 JSP的内置对象有:request 、response、session、application、out。以下我们将一一介绍...

XML与HTTP协议笔记归纳(将来学jsp必备!)

不心浮气噪   静心    集中心力    理解   透彻   一步步   积累   定心 XML基础: 1.文档声明: 声明文档中字符编码:(默认:utf-8/utf-16) 声明文档独立存在与否:...
  • itzyjr
  • itzyjr
  • 2012年05月26日 20:12
  • 1000

JSP&Servlet--Http协议及Web基础

1.HTTP协议基础​​ 什么是 HTTP? 超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信。HTTP 的工作方式是客户机与服务器之间的请求-应答协议。web 浏览器可能是客户...

尚学堂马士兵servlet/JSP笔记(一、Http协议及WebApp初步)

尚学堂马士兵servlet/JSP笔记(一、Http协议及WebApp初步) 分类: servlet/JSP notes2013-08-19 02:48 204人阅读 评论(0) 收藏 举报...
  • cztq15
  • cztq15
  • 2014年05月24日 11:23
  • 708

JSP协议之HTTP协议

HTTP协议                      请求头(客户端与服务器交互)                             客户端连上服务器后,向服务器请求某个web资源,称之...

通过 http 协议上传文件(rfc1867协议概述,jsp 应用举例,客户端发送内容构造)

1、概述 在最初的 http 协议中,没有上传文件方面的功能。 rfc1867 (http://www.ietf.org/rfc/rfc1867.txt) 为 http 协议添加了这个功能。客户端的...

HTTP协议总结

  • 2011年12月08日 23:02
  • 27KB
  • 下载

HTTP协议状态码总结

  • 2013年03月20日 16:43
  • 20KB
  • 下载

http,servlet,jsp-java web后台知识简单总结

http,servlet,jsp 总结,包括 servletConfig,servletContext,servletRequest,servletResponse,session,cookie,EL...

jsp HTTP各种返回状态总结

1**:请求收到,继续处理 2**:操作成功收到,分析、接受 3**:完成此请求必须进一步处理 4**:请求包含一个错误语法或不能完成 5**:服务器执行一个完全有效请求失败 100...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JSP总结一:HTTP协议
举报原因:
原因补充:

(最多只允许输入30个字)