`
crukor
  • 浏览: 31661 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

Web 服务器的实现原理

阅读更多

 

Web应用常称为B/SBrowser/Server)架构,但其实Web应用一样是C/SClient/Server)结构的应用,只是这种应用的服务器是Web服务器,客户端是浏览器。

 

对于大部分浏览器它通常负责完成三件事情:

(1)向远程服务器发送请求。

(2)读取远程服务器返回的字符串数据。

(3)负责根据字符串数据渲染出一个丰富多彩的页面。

 

Web服务器则负责接收客户端请求,每当接收到客户端连接请求后,Web服务器应当使用单独的线程为该客户端提供服务:接收请求数据、返回响应数据。

 

 

B/S架构总是由客户端发送请求,服务器接收到请求后返回响应数据,所以也将这种架构称作“请求/响应”架构。对这种机制进行归纳,对于每次客户端请求而言,Web服务器大致需要完成如下几个步骤:

 

1、启动单独的线程。

2、使用I/O流读取用户的请求数据。

3、从请求数据中解析参数。

4、处理用户请求。

5、生成相应数据。

6、使用I/O流向用户端发送请求数据。

 

在上面6个步骤中,第126步是通用的,可以由Web服务器来完成,但第345步则存在差异:因为不同的请求里包含的请求参数不同,处理用户请求的方式也不同,所生成的响应自然也不同。那么Web服务器到底是如何执行345步呢?

 

实际上,在访问JSP页面时,Web服务器会调用Servlet_jspService()方法来完成第345步,当我们编写JSP页面时,页面里的静态内容、JSP脚本都会转换成_jspService()方法的执行代码,这些执行代码负责完成解析参数、处理请求、生成响应等业务功能,而Web服务器则负责完成多线程、网络通信等底层功能。

 

Web服务器在执行了第3步解析到用户的请求参数之后,将需要通过这些请求参数来创建HttpServletRequestHttpServletResponse等对象,作为调用Service()方法的参数,实际上一个Web服务器必须为Servlet API中绝大部分接口提供实现类。

 

分享到:
评论

相关推荐

    HTTP协议和WEB服务器工作原理

    #### 二、简单WEB服务器实现原理 ##### 1. 实现原理概述 简单WEB服务器的实现主要包括以下几个关键步骤: - **监听端口**:服务器启动后,会监听特定的端口号(如80或8080)等待客户端的连接请求。 - **接收...

    简单Web服务器设计与实现.doc

    本文主要介绍了简单Web服务器的设计与实现,涵盖了WWW的工作原理、HTTP协议、Java语言、Web服务器的设计与实现等方面的知识点。 WWW的工作原理基于客户机/服务器计算模型,由Web浏览器(客户机)和Web服务器...

    Java Web 服务器原理

    Java Web服务器原理主要涉及到Web应用的部署、运行和管理,其中Tomcat是一个广泛使用的开源Java Servlet容器,它是Java EE(现在称为Jakarta EE)的一部分。本文将深入探讨Java Web服务器的工作原理,特别是Tomcat的...

    基于单片机的嵌入式Web服务器设计与实现.pdf

    知识点5:Web服务器原理 * Web服务器也称为HTTP服务器,它通过HTTP协议与客户端通信。 *@Web服务器监听用户端的服务请求,根据用户请求的类型提供相应的服务。 * 用户端可以使用Web浏览器和Web服务器进行通信。用户...

    套接字实现简单Web服务器的原理

    【套接字实现简单Web服务器的原理】 在计算机网络中,Web服务器是用于处理HTTP(超文本传输协议)请求并返回相应数据的程序。而套接字(Socket)是网络编程的基本接口,它允许两个应用程序通过网络进行通信。本文将...

    实验_Linux下的web服务器.doc

    【实验名称】Linux 下的 Web...通过这个实验,参与者将深入理解Web服务器的工作原理,学会如何在Linux环境中搭建和管理Web服务,以及如何利用虚拟主机技术实现多站点部署。这对于网络管理员和Web开发者来说是必备技能。

    一个简单的web服务器编程实例

    其中最常用的Web服务器库是`http.server`模块,它是Python标准库的一部分,提供了一个简单的HTTP服务器实现。 让我们深入探讨如何使用`http.server`创建Web服务器: 1. **启动服务器**: 首先,你需要导入`...

    计算机网络实验一 Windows环境下用java实现web服务器

    在本实验中,我们将探索如何在Windows环境下使用Java语言实现一个基本的Web服务器。这个实践项目旨在深化学生对HTTP协议的理解,以及Web服务器的工作机制。HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络...

    简易web服务器实现

    本篇文章将深入探讨如何实现一个简单的Web服务器,并基于给出的标题"简易web服务器实现"以及描述中的信息,我们将重点讲解Web服务器的基本概念、工作原理以及实现步骤。 一、Web服务器基本概念 Web服务器是一种运行...

    多线程Web服务器的设计与实现

    本实验的主题是“多线程Web服务器的设计与实现”,这涉及到并发处理和网络通信的核心概念。下面将详细讨论相关知识点。 1. **多线程**:多线程是指在一个程序中可以同时执行多个独立的线程。在Web服务器中,多线程...

    小型Web服务器实现

    【标题】"小型Web服务器实现"涉及的主要知识点是构建一个简单的网络服务器,特别是Web服务器的基础原理和编程实践。Web服务器是互联网基础设施的关键组成部分,用于接收HTTP请求并返回HTML页面或其他资源,如图片、...

    简单web服务器实现

    #### 四、基于 Java 的简单 Web 服务器设计与实现 **1. 项目背景** 课程设计的目标是开发一个简单的 Web 服务器,该服务器能够处理 HTTP GET 请求并返回 HTML 文件。这个项目的实现需要掌握以下几个关键技术点: ...

    Web服务器C++实现

    在IT领域,Web服务器是互联网基础设施的关键组成部分,...通过阅读和理解这些代码,不仅可以学习到Web服务器的工作原理,还能深入理解C++在网络编程中的应用。同时,这样的项目也是提升编程技能和实践经验的好途径。

    linux下c语言实现多线程web服务器

    在Linux环境下,C语言是一种...综上所述,"linux下c语言实现多线程web服务器"项目涵盖了操作系统、网络编程、线程管理、内存操作、并发控制等多个方面,对于理解系统级编程和Web服务的内部工作原理有着重要的实践价值。

    C#实现WEB服务器

    以下是对基于C#实现的WEB服务器的知识点进行的详细阐述,涵盖其基本原理、核心功能以及具体实现过程。 ### C#实现WEB服务器的核心概念 #### HTTP协议基础 在C#实现WEB服务器的过程中,HTTP(超文本传输协议)扮演...

    基于Java的Web服务器工作原理

    在深入探讨基于Java的Web服务器工作原理之前,我们需要理解Web服务器的基本概念和Java技术栈的关键组件。 首先,Web服务器是一种软件,其主要任务是接收来自客户端(如浏览器)的HTTP请求,处理这些请求,然后向...

    Linux- 用C语言实现的简单Web服务器源代码

    本文将深入探讨由熊第彬所编写的"Linux- 用C语言实现的简单Web服务器源代码",它是一个轻量级的Web服务器示例,可以帮助初学者理解HTTP协议和网络编程的基本原理。 首先,让我们了解一下Web服务器的工作原理。Web...

    VC++实现基于MFC的Web服务器程序

    描述中提到的"使用VC 6.0编写 C++ 语言 基于MFC的简单web服务器"意味着我们需要使用旧版本的Visual C++ IDE(6.0版),这个版本虽然较老,但对于学习基础原理非常合适。我们将使用C++语言来实现Web服务器的核心逻辑...

    web服务器缓存实现原理,通过chrome f12观察web服务器缓存

    web服务器缓存实现原理,通过chrome f12观察web服务器缓存 后台action命中缓存hit Via X-cache X-Cache-Lookup

    Web服务器Boa移植流程(嵌入式Web服务器BOA实现原理.doc)

    Web服务器Boa详细移植流程,通用版(嵌入式Web服务器BOA实现原理.doc)

Global site tag (gtag.js) - Google Analytics