首 页 ┆ 源码下载 ┆ IT学院 ┆ 字体下载 ┆ 模板下载 ┆ 源码发布 ┆ 广告合作 ┆ 网站地图 ┆ 虚拟主机 ┆ 中文域名
► 设为首页
► 加入收藏
► 联系我们
源码下载 >> ASP源码 | PHP源码 | ASP.net源码 | JSP源码 | CGI源码 | VC/C++源码 | VB源码 | Delphi源码 | Flash源码
文章学院 >> 网络编程 | 网页设计 | 图形图象 | 数据库 | 服务器 | 网络媒体 | 网络安全 | 操作系统 | 办公软件 | 软件开发 | 黑客知识
字体下载 >> 精制字体 | 非英字体 | 艺术字体 | 著名字体 | 哥特式 | 简单字体 | 手写体 | 节假日 | 图案字体 | 精度像素 | 中文字体
模板下载 >> 企业门户 | 数码网络 | 休闲娱乐 | 影视音乐 | 旅游名胜 | 文化艺术 | 电子商务 | 个性展示 | 登陆导航 | Flash模板
►►您当前的位置:源码园 → IT学院 → 服务器 → Win服务器 → 文章内容

基于Jave的Web服务工作机制(1)

作者:佚名  来源:天极网  发布时间:2007-2-7 22:27:55
一个WEB服务器也被称为一个HTTP服务器,因为它使用HTTP协议和它的客户进行通讯,而这些客户通常是浏览器。 一个基于JAVA的WEB服务器使用了两个重要的类:java.net.Socket和java.net.ServerSocket,并且是通过HTTP消息进行通讯的。本文开头将讨论HTTP和这两个类,后面,将解释一个简单WEB服务器应用程序的工作机制。

  超文本传输协议 (HTTP)

  HTTP协议允许服务器和客户机通过INTERNET接收和发送数据。它是个请求和回应协议----客户机发送请求,服务器对请求给出回应。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 在INTERNET的应用程序中是使用最普遍的两个方法。

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

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

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

  LastName=Franks&FirstName=Michael

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


[] [返回上一页] [打 印]
  • 上一篇文章:个人服务器架设全攻略(29)
  • 下一篇文章:基于Jave的Web服务工作机制(2)

  • 相关文章:
  • 开发基于Java的图形用户界面
  • [图文]基于Java的代理设计模式
  • 基于Java的建造设计模式
  • [图文]基于Java的解释器设计模式
  • 基于Java的企业分布式应用
  • 基于Java的IDEA加密算法
  • 基于Jave的Web服务工作机制(7)
  • 基于Jave的Web服务工作机制(6)
  • 基于Jave的Web服务工作机制(5)
  • 基于Jave的Web服务工作机制(4)
  • 基于Jave的Web服务工作机制(3)
  • 基于Jave的Web服务工作机制(2)
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 源码发布
Copyright © 2003-2009 Ymyasp.Com. All Rights Reserved .
备案序号:粤ICP备07029071号