0

我是servlts编程的新手。就在今天,我开始学习它。我有点困惑

HttpServletRequest. 它是在教程中编写的,该类doGET()具有一些方法,例如表单“查询”数据、HTTP 请求标头和客户端的主机名。

据我了解, HttpServletRequest 类似于协议,允许服务器接收来自客户端的请求。我的问题是,为什么 CLIENT 方对
了解诸如客户端的主机名或 HTTP 请求标头之类的东西很感兴趣。

如果您发现这个问题很愚蠢,请不要对我的问题投反对票,因为我不想因堆栈溢出而丢失此帐户。

4

1 回答 1

0

首先HttpServletRequest是您的 Servlet 容器实现的接口。 HttpServlet是一个便利类,您的 Servlet 可以从中扩展并获取所有 HTTP 特定方法。doGet()是处理GET请求的一种方法。

HttpServletRequest 类似于一种协议,允许 SERVER 接收来自 CLIENT 端的请求

HTTP是一种请求-响应协议。您的容器HttpServletRequest根据 Web 服务器收到的实际请求形成一个对象,并将其转发给您的 Servletservice()方法。

为什么 CLIENT 方对了解诸如客户端的主机名或 HTTP 请求标头之类的东西很感兴趣。

如果您在谈论 Servlet,它总是在服务器端执行。因此,像request.getHeader()这样的方法Servlet 使用它从客户端发送的请求中读取标头。这些标头提供有关请求(或响应)的一些额外信息。与请求相关的许多标头由服务器本身处理。例如,服务器如何限制对其文档的访问。服务器使用 HTTP 头,而 servlet 不需要知道细节。当服务器收到对受限页面的请求时,它会检查该请求是否包含适当的 Authorization 标头,该标头包含有效的用户名和密码。如果没有,服务器本身会发出一个包含 WWW-Authenticate 标头的响应,告诉浏览器它对资源的访问被拒绝。当客户端发送包含正确授权标头的请求时,服务器授予访问权限并将任何 servlet 调用的访问权限授予用户'

阅读HTTP 变得非常容易请求标头概述

于 2013-07-31T08:49:13.223 回答