Web应用常称为B/S(Browser/Server)架构,但其实Web应用一样是C/S(Client/Server)结构的应用,只是这种应用的服务器是Web服务器,客户端是浏览器。
对于大部分浏览器它通常负责完成三件事情:
(1)向远程服务器发送请求。
(2)读取远程服务器返回的字符串数据。
(3)负责根据字符串数据渲染出一个丰富多彩的页面。
Web服务器则负责接收客户端请求,每当接收到客户端连接请求后,Web服务器应当使用单独的线程为该客户端提供服务:接收请求数据、返回响应数据。
B/S架构总是由客户端发送请求,服务器接收到请求后返回响应数据,所以也将这种架构称作“请求/响应”架构。对这种机制进行归纳,对于每次客户端请求而言,Web服务器大致需要完成如下几个步骤:
1、启动单独的线程。
2、使用I/O流读取用户的请求数据。
3、从请求数据中解析参数。
4、处理用户请求。
5、生成相应数据。
6、使用I/O流向用户端发送请求数据。
在上面6个步骤中,第1、2和6步是通用的,可以由Web服务器来完成,但第3、4和5步则存在差异:因为不同的请求里包含的请求参数不同,处理用户请求的方式也不同,所生成的响应自然也不同。那么Web服务器到底是如何执行3、4和5步呢?
实际上,在访问JSP页面时,Web服务器会调用Servlet的_jspService()方法来完成第3、4和5步,当我们编写JSP页面时,页面里的静态内容、JSP脚本都会转换成_jspService()方法的执行代码,这些执行代码负责完成解析参数、处理请求、生成响应等业务功能,而Web服务器则负责完成多线程、网络通信等底层功能。
Web服务器在执行了第3步解析到用户的请求参数之后,将需要通过这些请求参数来创建HttpServletRequest、HttpServletResponse等对象,作为调用Service()方法的参数,实际上一个Web服务器必须为Servlet API中绝大部分接口提供实现类。
相关推荐
#### 二、简单WEB服务器实现原理 ##### 1. 实现原理概述 简单WEB服务器的实现主要包括以下几个关键步骤: - **监听端口**:服务器启动后,会监听特定的端口号(如80或8080)等待客户端的连接请求。 - **接收...
本文主要介绍了简单Web服务器的设计与实现,涵盖了WWW的工作原理、HTTP协议、Java语言、Web服务器的设计与实现等方面的知识点。 WWW的工作原理基于客户机/服务器计算模型,由Web浏览器(客户机)和Web服务器...
Java Web服务器原理主要涉及到Web应用的部署、运行和管理,其中Tomcat是一个广泛使用的开源Java Servlet容器,它是Java EE(现在称为Jakarta EE)的一部分。本文将深入探讨Java Web服务器的工作原理,特别是Tomcat的...
知识点5:Web服务器原理 * Web服务器也称为HTTP服务器,它通过HTTP协议与客户端通信。 *@Web服务器监听用户端的服务请求,根据用户请求的类型提供相应的服务。 * 用户端可以使用Web浏览器和Web服务器进行通信。用户...
【套接字实现简单Web服务器的原理】 在计算机网络中,Web服务器是用于处理HTTP(超文本传输协议)请求并返回相应数据的程序。而套接字(Socket)是网络编程的基本接口,它允许两个应用程序通过网络进行通信。本文将...
【实验名称】Linux 下的 Web...通过这个实验,参与者将深入理解Web服务器的工作原理,学会如何在Linux环境中搭建和管理Web服务,以及如何利用虚拟主机技术实现多站点部署。这对于网络管理员和Web开发者来说是必备技能。
其中最常用的Web服务器库是`http.server`模块,它是Python标准库的一部分,提供了一个简单的HTTP服务器实现。 让我们深入探讨如何使用`http.server`创建Web服务器: 1. **启动服务器**: 首先,你需要导入`...
在本实验中,我们将探索如何在Windows环境下使用Java语言实现一个基本的Web服务器。这个实践项目旨在深化学生对HTTP协议的理解,以及Web服务器的工作机制。HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络...
本篇文章将深入探讨如何实现一个简单的Web服务器,并基于给出的标题"简易web服务器实现"以及描述中的信息,我们将重点讲解Web服务器的基本概念、工作原理以及实现步骤。 一、Web服务器基本概念 Web服务器是一种运行...
本实验的主题是“多线程Web服务器的设计与实现”,这涉及到并发处理和网络通信的核心概念。下面将详细讨论相关知识点。 1. **多线程**:多线程是指在一个程序中可以同时执行多个独立的线程。在Web服务器中,多线程...
【标题】"小型Web服务器实现"涉及的主要知识点是构建一个简单的网络服务器,特别是Web服务器的基础原理和编程实践。Web服务器是互联网基础设施的关键组成部分,用于接收HTTP请求并返回HTML页面或其他资源,如图片、...
#### 四、基于 Java 的简单 Web 服务器设计与实现 **1. 项目背景** 课程设计的目标是开发一个简单的 Web 服务器,该服务器能够处理 HTTP GET 请求并返回 HTML 文件。这个项目的实现需要掌握以下几个关键技术点: ...
在IT领域,Web服务器是互联网基础设施的关键组成部分,...通过阅读和理解这些代码,不仅可以学习到Web服务器的工作原理,还能深入理解C++在网络编程中的应用。同时,这样的项目也是提升编程技能和实践经验的好途径。
在Linux环境下,C语言是一种...综上所述,"linux下c语言实现多线程web服务器"项目涵盖了操作系统、网络编程、线程管理、内存操作、并发控制等多个方面,对于理解系统级编程和Web服务的内部工作原理有着重要的实践价值。
以下是对基于C#实现的WEB服务器的知识点进行的详细阐述,涵盖其基本原理、核心功能以及具体实现过程。 ### C#实现WEB服务器的核心概念 #### HTTP协议基础 在C#实现WEB服务器的过程中,HTTP(超文本传输协议)扮演...
在深入探讨基于Java的Web服务器工作原理之前,我们需要理解Web服务器的基本概念和Java技术栈的关键组件。 首先,Web服务器是一种软件,其主要任务是接收来自客户端(如浏览器)的HTTP请求,处理这些请求,然后向...
本文将深入探讨由熊第彬所编写的"Linux- 用C语言实现的简单Web服务器源代码",它是一个轻量级的Web服务器示例,可以帮助初学者理解HTTP协议和网络编程的基本原理。 首先,让我们了解一下Web服务器的工作原理。Web...
描述中提到的"使用VC 6.0编写 C++ 语言 基于MFC的简单web服务器"意味着我们需要使用旧版本的Visual C++ IDE(6.0版),这个版本虽然较老,但对于学习基础原理非常合适。我们将使用C++语言来实现Web服务器的核心逻辑...
web服务器缓存实现原理,通过chrome f12观察web服务器缓存 后台action命中缓存hit Via X-cache X-Cache-Lookup
Web服务器Boa详细移植流程,通用版(嵌入式Web服务器BOA实现原理.doc)