选择显示字体大小

基于jave的web服务工作机制(1)

一个web服务器也被称为一个http服务器,因为它使用http协议和它的客户进行通讯,而这些客户通常是浏览器。 一个基于javaweb服务器使用了两个重要的类:java.net.socketjava.net.serversocket,并且是通过http消息进行通讯的。本文开头将讨论http和这两个类,后面,将解释一个简单web服务器应用程序的工作机制。

  超文本传输协议 (http)

  http协议允许服务器和客户机通过inte.net接收和发送数据。它是个请求和回应协议----客户机发送请求,服务器对请求给出回应。http 使用可靠的tcp 连接,默认tcp端口是80。http的第一版是http/0.9,随后被 http/1.0所取代。当前最新的版本是http/1.1,这个在rpc2616规范文档中给出了定义。

  这一章节简单讲叙了http 1.1, 对于你理解web服务器应用程序发送的消息还是足够的。如果你很感兴趣,可以参考rfc 2616文档。

  使用http,客户端通过建立一个连接和发送一个http请求来初始化事务会话,服务器联系客户端或者回应一个callback连接给客户端。 它们都可以中断连接。比如,在使用web浏览器时,你可以点击浏览器上的stop按钮来停止文件下载进程,就有效的关闭了和这个web服务器的http连接。

  http 请求(requests)

  一个http request包含三个部分:

  方法,url,协议/版本(method-uri-protocol/version)
  请求包头request headers
  实体包(entity body)
  下面给出一个http请求的范例:

  post /servlet/default.jsp http/1.1
  accept: text/plain; text/html
  accept-language: en-gb
  connection: keep-alive
  host: localhost
  referer: http://localhost/ch8/senddetails.htm
  user-agent: mozilla/4.0 (compatible; msie 4.01; windows 98)
  content-length: 33
  content-type: application/x-www-form-urlencoded
  accept-encoding: gzip, deflate

  lastname=franks&firstname=michael

  请求的第一行就是method-uri-protocol/version。

  post /servlet/default.jsp http/1.1

  请求的是post方法,后面的 /servlet/default.jsp 表示一个url地址,http/1.1表示协议的版本。

  http标准规范定义了一些请求方法,用来给每个http请求所使用。http 1.1支持7中请求方法: get, post, head, options, put, delete, 和 trace。 get和post 在inte.net的应用程序中是使用最普遍的两个方法。

  uri完整的指明了一个inte.net资源。一个uri通常是相对于服务器的根目录被解释的。 因此,它总是使用符号(/)开头。一个url实际是一个uri类型。协议版本表示当前正在使用的http协议的版本。

  请求包头(request header)包含了一些有用的客户机环境的信息和请求的实体(entity body)信息。比如,它可以包含浏览器使用的语言和实体的长度等等。每个请求包头都被crlf(回车换行)序列所分离。

  在先前的http请求中,实体是下面简单的一行:

  lastname=franks&firstname=michael

  在一个典型的http请求中,这个实体能够很容易地变得更长。

  


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons