当前位置:首页 > CN2资讯 > 正文内容

java高性能服务器 java服务器

3天前CN2资讯


一:Web服务器原理

          Web系统由客户端(浏览器)和服务器端两部分组成。Web系统架构也被称为B/S架构。最常见的Web服务器有Apache、IIS等,常用的浏览器有IE、Firefox、chrome等。当你想访问一个网页时,需要在浏览器的地址栏中输入该网页的URL(Uniform Resource Locator,简称为URL)地址,或者是通过超链接链接到该网页。浏览器会向该网页所在的服务器发送一个HTTP请求,服务器会对接收到的请求信息进行处理,然后将处理的结果返回给浏览器,最终将浏览器处理后的结果呈现给用户。

 web服务器端的工作流程:
        (1)客户端发送请求
         客户端(通过浏览器)和Web服务器建立TCP连接,连接建立以后,向Web服务器发出访问请求(如get)。根据HTTP协议,该请求中包含了客户端的IP地址、浏览器的类型和请求的URL等一系列信息。

       (2)服务器解析请求
         Web服务器对请求按照HTTP协议进行解码来确定进一步的动作,设计的内容有三鼐要点:方法(GET)、文档(/sample.html)、和浏览器使用的协议(HTTP/1.1)其中方法告诉服务器应完动的动作,GET方法的含义很明显是:服务器应定位、读取文件并将它返回给客户。Web服务器软件现在就知道了,它应该找到文件/sample.html,并使用HTTP/1.1协议将内存返回给客户。信息是经过与请求到来相同的连接发出的,所以服务器不需要定们客户或创建新的连接。

     (3)读取其它信息(非必须步骤)
    Web服务器根据需要去读取请求的其它部分。在HTTP/1.1下,客户还应给服务器提供关于它的一些信息。元信息(metainformation)可用来描述浏览器及其能力,以使服务器能据此确定如何返回应答。

     (4)完成请求的动作
      若现在没有错误出现,WWW服务器将执行请求所要求的动作。要获取(GET)一个文档,web服务器在其文档树中搜索请求的文件(/sample.html)。这是由服务器机器上作为操作系统一部分的文件系统完成的。若文件能找到并可正常读取,则服务器将把它返回给客户。

          如果成功:文件被发送出去。首先,web服务器发送一个状态码及一些描述信息。既然文件已经找到,则发送状态码200,表示一切都OK ,文档随后发出,因为发送的信息是HTML文档,所以Content-type 取值为text/html。文档长为1024个字节,所以Content-type 取1024 。服务器软件的标识及文件的时间属性信息也被包含在头域中。
如果失败:返回错误指示。如果请求的文件没有找到或找到但无法读取,测请求无法满足。这时将返回不同于200的状态码。最常见的问题是请求中的文件名拼写有误,所以服务器无法找到该文件。这种情况下,服务器将发送一个状态码---404 给客户。


       (5)关闭文件和网络连接,结束会话。
         当文件已被发邮或错误已发出后,web服务器结束整个会话。它关闭打开的的被请求文件,关闭网络端口从而结束网络连接。有关的其它工作则是由客户端来完成的,包括接收数据,并以用户可读的方式呈现出来。这些与服务器无关。


二:java实现简单的Web服务器

(1)首先创建一个静态资源,例如web.html。静态页面写上“访问成功!”

(2)ServerSokcet



/** * Web服务器Server * @author 刘彦亮 * @version 1.0 */ public class Server { public static void main(String[] args) { try { ServerSocket ss = new ServerSocket(8080); Socket s = null; while ((s = ss.accept()) != null) { HTTPThread httpThread = new HTTPThread(s); Thread thread = new Thread(httpThread); thread.start(); } } catch (IOException e) { e.printStackTrace(); } } }



(3)线程处理


/** * HTTPThread线程 * @author 刘彦亮 * @version 1.0 */ public class HTTPThread implements Runnable { private Socket socket; public HTTPThread() { } public HTTPThread(Socket socket) { this.socket = socket; } @Override public void run() { try { OutputStream os = socket.getOutputStream(); FileInputStream in = new FileInputStream("D://index.html"); int len = 0; byte buffer[] = new byte[1024]; while ((len = in.read(buffer)) > 0) { os.write(buffer, 0, len); } os.flush(); in.close(); os.close(); } catch (IOException e) { e.printStackTrace(); } } }





(4)启动Server





(5)浏览器访问Server









    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/20646.html

    分享给朋友:

    “java高性能服务器 java服务器” 的相关文章

    如何通过命令行安装DSM软件:步骤与技巧教学

    什么是DSM? DSM,即DiskStation Manager,是为Synology NAS设备设计的一款操作系统。它不仅提供了存储管理的基本功能,还有很多高级应用,像文件共享、备份解决方案以及多媒体服务等。可以说,DSM就像一种灵活的操作平台,让用户能够通过直观的界面轻松管理他们的数据和设备。...

    选择香港主机的最佳指南:提升您的网站性能与用户体验

    香港主机指的是那些在香港地区部署的服务器,主要用于提供网站托管、应用托管或数据库管理等服务。得益于香港卓越的网络基础设施,越来越多的企业和个人选择将他们的运营托付给香港主机。这不仅提升了业务的可达性,也提供了更优质的用户体验。 如果我回想起我最初接触香港主机时,感到非常惊讶于它的潜力。香港地理位置独...

    选择日本不限流量VPS的最佳方案与优化建议

    日本不限流量VPS市场现状 日本的VPS市场,尤其是不限流量的产品,正迎来一个快速发展的阶段。随着互联网技术的进步,亚洲的网络环境发生了翻天覆地的变化。尤其是在日本,不限流量VPS因其连接速度快、数据中心服务优质而广受欢迎,对那些需要持续大流量的网站运营者来说,这可是一个无与伦比的选择。 我发现,随...

    获取国外动态IP服务的指南与优势

    在当今互联网的世界中,动态IP(Dynamic IP)逐渐成为了一个重要的概念。它指的是由互联网服务提供商(ISP)动态分配的、可变的IP地址。与固定不变的静态IP相比,每次连接互联网时,动态IP都可能发生变化。这种灵活性不仅高效利用了IP资源,还在多个领域产生了实际应用的优势。 动态IP的特点非常...

    亿速云:构建安全、高效的云计算解决方案

    在当今数字化快速发展的时代,云计算服务的重要性愈发显著。我了解到,亿速云正是一家在这一领域崭露头角的企业,专注于提供高品质的云计算服务。自成立以来,亿速云围绕创新技术和卓越服务,努力帮助各行各业的用户实现数字化转型和升级。作为新一代云计算服务商,亿速云把握时代脉搏,致力于为全球用户提供稳定、安全、高...

    Oracle Cloud 教学:从免费资源到项目实践的全方位指南

    在这个数字化的时代,云计算成为了技术发展的重要方向,而Oracle Cloud则为学习者提供了丰富的教学资源,涵盖从初学者到高级用户的各个层次。通过这些资源,我们可以轻松地开始云计算的学习之旅,更加熟悉这个领域的核心知识和技能。在Oracle Cloud的学习中,我发现了几个特别有帮助的项目,接下来...