Servlet&JSP概述
What is web ?
web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。
The function of web server
web server接受client请求,对请求解析、处理、打包、响应结果。
- HTML告诉浏览器怎么样向用户显示内容。
- HTTP是Web上客户和服务器之间通信所用的协议。
- 服务器使用HTTP向客户发送HTTP响应结果。
HTTP(Hypertext Transfer Protocol) 超文本传输协议是一种客户端与服务端通信的协议
客户端发送一个HTTP请求,服务器会用一个HTTP响应作为应答。
What is HTTP?
HTTP是一种用于客户端与服务端之间通信的网络协议。(HTTP会话结构是请求/响应序列 =》 浏览器发送请求,服务器做出响应)
TCP负责确保从一个网络节点向另一个网络节点发送的文件作为一个完整的文件到达目的地,在具体的传送过程中采用分而治之的思想
进行起点分散传送,终点组合的方式。(将一整块文件拆分为多个小块文件按照不同的信道进行数据传送同时在起点进行组装保证文件的最终一致性。)
IP是一个网络层的协议,保证数据库(数据包)沿路移动/路由到目的地。
HTTP 响应剖析
Response Header
cache-control: no-cache, no-store content-encoding: gzip content-type: text/html; charset=utf-8 # 内容类型响应首部内容值为MIME类型。MIME告诉Browser浏览器要接收的数据是什么类型,这样浏览器才知道如何显示这些数据。 date: Fri, 02 Apr 2021 02:47:18 GMT pragma: no-cache status: 200 # HTTP状态码 strict-transport-security: max-age=2592000; includeSubDomains; preload vary: Accept-Encoding
URL - Uniform Resource Locator 统一资源定位符剖析
Web上的每个资源都有唯一的地址采用的就是URL格式。
http://www.openmind.ink:80/documentation/dev-doc/java/java8.html
- http:协议,确定客户端与服务端之间通信使用什么协议
- www.openmind.ink:服务器(该名字映射到一个唯一的IP地址), IP地址是服务器所在互联网空间地址
- 80:端口号: 一个服务器可以支持多个端口,一个服务器应用由一个端口标识。
- documentation/dev-doc/java: 请求资源在服务器上的路径。
- java8.html: 客户端请求的资源(资源类型多样 eg:HTML网页、一个Servlet、一张图像、一段视频等)
可查询字符串,如果是一个GET请求,额外的信息(参数)追加到URL最后通过 【?】进行分割
TCP端口 - 标识服务器应用的“逻辑数”
如果没有端口号,服务器就无法知道当前请求应用想要访问的是哪个应用。
使用不同的协议可以在相同的端口号中使用不同的应用。
端口是一个数字其范围:[0, 65535],端口的个数:65536个
[0 ~ 1023]的TCP端口号作为保留端口号由一些知名服务器使用
Web服务器不做的事情!
- 生成动态内容
Web server只提供静态页面,但是有一个“辅助aux”应用可以生成非静态的即时页面。
即时页面在请求到来之前并不存在,请求到来之后,辅助应用就“按具体情况”生成的HTML由Web server交回客户。
- 数据持久化
用户提交表单数据,Web server解析HTTP请求获取该表单数据但【处理表单数据】或【将表单数保存到一个文件、数据库】或【生成响应页面】都需要辅助应用来完成。
Web server将表单参数移交给辅助应用进行处理并返回处理结果。
要点
- HTTP即【超文本传输协议(Hpertext Transfer Protocol】,HTTP运行在TCP/IP之上。
- HTTP使用【请求-响应模型(Request-Response Model】, 客户作出一个HTTP请求,Web服务器返回一个HTTP响应,再由Browser(根据MIME内容类型)确定如何处理(渲染数据)
- 请求流:【请求方法】、【请求服务器地址】、【请求资源路径】、【请求资源名称】
- 响应流:【状态码】、【响应类型】、【响应内容】
- GET请求时表单数据会添加到URL的最后
- POST请求时表单数据会添加到请求体之中
- MIME类型告诉浏览器所接受的是哪一种类型的数据,让浏览器根据类型进行数据的组织和渲染
- URL(统一资源定位符)。Web上的每个资源都有自己的唯一资源地址。
- ★Web Server【只提供静态页面 和 调用其他服务器内应用进行表单参数处理】,在Web Server创建动态页面时需要某种辅助应用与服务器协作。
学而不思则罔,思而不学则殆!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具