14:java基础-Tomcat-Web容器

文章目录

  • 面试题
    • [Web 容器是什么?](#Web 容器是什么?)
    • [HTTP 的本质](#HTTP 的本质)

面试题

Web 容器是什么?

  • 让我们先来简单回顾一下 Web 技术的发展历史,可以帮助你理解 Web 容器的由来。
  • 早期的 Web 应用主要用于浏览新闻等静态页面,HTTP 服务器(比如Apache、Nginx)向浏览器返回静态 HTML,浏览器负责解析 HTML,将结果呈现给用户。
  • 随着互联网的发展,我们已经不满足于仅仅浏览静态页面,还希望通过一些交互操作,来获取动态结果,因此也就需要一些扩展机制能够让 HTTP 服务器调用服务端程序。
  • 于是 Sun 公司推出了 Servlet 技术。你可以把 Servlet 简单理解为运行在服务端的 Java 小程序,但是 Servlet 没有 main 方法,不能独立运行,因此必须把它部署到 Servlet 容器中,由容器来实例化并调用 Servlet。
  • 而 Tomcat 就是一个 Servlet 容器。为了方便使用,它们也具有 HTTP 服务器的功能,因此 Tomcat 就是一个"HTTP 服务器 + Servlet 容器",我们也叫它们 Web 容器。

HTTP 的本质

  • HTTP 协议是浏览器与服务器之间的数据传送协议。作为应用层协议,HTTP 是基于 TCP/IP 协议来传递数据的(HTML 文件、图片、查询结果等),HTTP 协议不涉及数据包(Packet)传输,主要规定了客户端和服务器之间的通信格式。
  • 假如浏览器需要从远程 HTTP 服务器获取一个 HTML 文本,在这个过程中,浏览器实际上要做两件事情。
    • 与服务器建立 Socket 连接。
    • 生成请求数据并通过 Socket 发送出去。
相关推荐
Sunia几秒前
《AgentX 专栏》10-生产部署:3台2C4G云服务器把企业级Agent真正跑起来的完整方案
java·架构
我是一只快乐的小螃蟹3 分钟前
1.1 HashMap (JDK1.8) 源码解析
前端
ZhengEnCi1 小时前
J7A-高级Java工程师面试三道灵魂拷问-深度广度与工程素养的终极检验
java·后端
爱勇宝3 小时前
小红花成长新版:模板来了,鼓励也更容易开始
前端·后端·程序员
竹林8183 小时前
Solana前端开发:我在一个NFT铸造页面上被@solana/web3.js的Connection和Transaction签名坑了两天
前端
冬奇Lab4 小时前
每日一个开源项目(第144篇):ai-website-cloner-template - 一条命令、多 Agent 并行,把任意网站逆向成 Next.js 代码
前端·人工智能·开源
玄玄子4 小时前
webpack publicPath作用原理
前端·webpack·程序员
HduSy4 小时前
帮 Claude Code 做了个菜单栏 Token 看板,聊聊里面的一些实现逻辑
前端
用户059540174464 小时前
用了6个月LangChain,才发现AI Agent的记忆存储一直有坑——写了23个Pytest用例才彻底修好
前端·css
奶油mm4 小时前
我偷偷把公司的祖传 jQuery 项目改成了 Vue3,CTO 没发现,但全组都来抄我的代码了
前端