- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
How Tomcat Works中文译本(第一章)
How Tomcat Works中文译本(第一章)第一章:简单的web server 这章将解释Java web server 是如何工作的。Web server 也叫超文本传输协议(HTTP)server,因为它使用HTTP 连接客户端,客户端一般指web 浏览器。基于java的web server使用两个重要的类:.Socket 和 .ServerSocket,连接工作是通过HTTP 消息完成的。因此自然我们从HTTP和这两个类开始讨论这章。在这章我们将继续解释简单web server应用。 超文本传输协议(HTTP) HTTP是允许web server 和浏览器之间通过Internet发送和接收数据的协议,它是一个request和response的协议。客户端请求一个文件,服务器端响应这个请求。HTTP使用可靠的TCP连接,默认端口为80。HTTP的第一个版本是0.9,后来被HTTP/1.0所取代。HTTP/1.1是目前的版本。在Request for Comments(RFC)2616中有定义,可以从这里下载/Protocols/HTTP/1.1/rfc2616.pdf。 注:这部分关于HTTP1.1的简介是为了帮助你理解web server应用上的消息的发送。如果你感兴趣,可以阅读RFC 2616。 HTTP,是客户端通过建立连接发起一个事务并发送HTTP请求。Web server 适时的连接客户端或者做回调连接给客户端。客户端和server都可以提早结束一个连接。例如,当用web 浏览器时,你可以点击浏览器上的停止按钮来停止下载一个文件的进程,有效地关闭与web server间HTTP 连接。 HTTP request 一个HTTP请求包括三部分: 方法—URI—协议/版本号(Method—Uniform Resource Identifier (URI)—Protocol/Version) 请求头部信息(Request headers) 实体(Entity body) 下面是一个HTTP请求的例子: POST /examples/default.jsp HTTP/1.1 Accept: text/plain; text/html Accept-Language: en-gb Connection: Keep-Alive Host: localhost 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=FranksfirstName=Michael 方法—URI—协议/版本号在request的第一行显示 POST /examples/default.jsp HTTP/1.1 POST是request的方法,/examples/default.jsp是URI和HTTP/1.1是协议/版本号部分。 每个HTTP 请求可以使用多个request方法中的一个, HTTP标准中有详细的说明。HTTP1.1支持七种类型的请求:GET,POST,HEAD,PUT,DELETE和TRACE。GET和POST是最常用的Internet应用。 URI详细指明了一个完整的Internet资源。URI通常是指server的相对根路径。因此,URI总是以“/”开头。URL是URI的一个实例(详看/rfc/rfc2396.txt)。 请求头包含了客户端环境和request实体的有用信息。例如,它可能包括浏览器设置的语言,实体的长度等等。每个header被一个CRLF序列分隔的。 在headers 与实体之间,有一个空行(CRLF),这HTTP 请求格式是非常重要的。CRLF 告诉HTTP server 实体从哪里开始。有些Internet编程书籍中,CRLF被认为是HTTP 请求的第四个组成部分。 在上面的HTTP 请求中,实体仅有下面这行: lastName=FranksfirstName=Michael 在典型的HTTP请求中,实体可能变得很长。 HTTP Response 类似于HTTP request,一个HTTP response 也包括三个部分: 协议—状态码—描述(Protocol—Status code—Description) 响应头(Response headers) 实体(Entity body) 下面是一个HTTP response的例子: HTTP/1.1 200 OK Server: Microsoft-IIS/4.0 Da
文档评论(0)