Web工作原理与HTTP协议详解

5星 · 超过95%的资源 需积分: 15 6 下载量 18 浏览量 更新于2024-08-01 收藏 123KB DOC 举报
"Web学习知识点总结" Web技术是构建互联网应用程序的基础,主要涉及Web工作原理、HTTP协议、Web服务器缺陷及解决方案、Web容器、Servlet等内容。以下是对这些知识点的详细阐述: 1. **Web工作原理**:Web工作基于客户端-服务器模型,其中HTTP(超文本传输协议)起着关键作用。HTTP是应用层协议,负责规定数据在网络中的传输格式。它是一个无状态协议,意味着服务器不会记录两个独立请求之间的交互。 2. **HTTP协议处理流程**: - 客户端与Web服务器建立TCP连接。 - 客户端发送HTTP请求,包括请求行(如`POST /sina/ccb.do?method=login HTTP/1.1`)、请求头(如`Accept: */*`表示接受所有类型的数据,`User-Agent`表示浏览器类型)和可能的消息体(如表单数据)。 - 服务器解析请求,生成HTTP响应,包括状态行(如`HTTP/1.1 200 OK`,状态码200表示成功)、响应头(如`Set-Cookie`设置cookie)和消息体(如HTML页面内容)。 - 服务器发送响应后关闭连接。 3. **HTTP请求和响应信息格式**:请求由请求行、请求头和消息体组成;响应则包含状态行、响应头和消息体。例如,GET请求通常不包含消息体,而POST请求可能包含。 4. **Web服务器缺陷与解决**:早期Web服务器只能提供静态页面,无法动态生成内容。为解决这个问题,引入了CGI(通用网关接口),允许服务器与外部应用程序交互。然而,CGI每次请求都会启动新进程,消耗大量资源。Java通过Web容器和Servlet解决了这个问题,使用多线程模型,减少资源消耗。 5. **Web容器**:Web容器,也称为应用服务器,是运行和管理Servlet的环境。它提供了以下功能: - 通信支持:处理客户端请求并转发给相应的Servlet。 - 生命周期管理:加载、初始化、执行和卸载Servlet。 - 多线程支持:为每个请求创建线程,提高效率。 - JSP支持:将JSP文件转换为Servlet并执行。 - 安全性处理:管理用户认证、授权等安全机制。 6. **Servlet**:Servlet是用Java编写的服务器端组件,用于生成动态网页。每个Servlet类需实现Servlet接口,其中`service()`方法是处理客户端请求的主要入口。`GenericServlet`是一个抽象类,实现了Servlet接口和ServletConfig接口,简化了Servlet的编写。 7. **Web应用程序的组成**:一个典型的Web应用程序由HTML、CSS、JavaScript、Servlet、JSP、JavaBean等多种组件构成。Servlet和JSP协同工作,前者处理业务逻辑,后者负责展示视图。 8. **Servlet生命周期**:包括加载、实例化、初始化、服务、销毁等阶段。ServletConfig对象提供了初始化参数,ServletContext对象则提供了整个Web应用的信息。 通过深入理解这些知识点,开发者可以更好地构建和维护Web应用程序,确保其高效、稳定和安全地运行。