HTTP请求与HTTP响应

本文深入解析了HTTP请求与响应的机制,详细介绍了servlet中客户端请求数据的封装过程及服务器响应的方式。涵盖request对象的读取方法和response对象的设置方法,包括请求头和响应头的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

servlet  客户端的HTTP 请求

当浏览器发出请求时,服务器会把客户端发送的请求数据(http数据)封装到request对象中,request是请求数据的载体
服务器也会创建一个response对象,这个对象会和客户端连接到一起,然后服务器响应结束后,通过response返回给客户端信息。

request读取头的方法

Cookie[] getCookies()
返回一个数组,包含客户端发送该请求的所有的 Cookie 对象。
2Enumeration getAttributeNames()
返回一个枚举,包含提供给该请求可用的属性名称。
3Enumeration getHeaderNames()
返回一个枚举,包含在该请求中包含的所有的头名。
4Enumeration getParameterNames()
返回一个 String 对象的枚举,包含在该请求中包含的参数的名称。
5HttpSession getSession()
返回与该请求关联的当前 session 会话,或者如果请求没有 session 会话,则创建一个。
6HttpSession getSession(boolean create)
返回与该请求关联的当前 HttpSession,或者如果没有当前会话,且创建是真的,则返回一个新的 session 会话。
7Locale getLocale()
基于 Accept-Language 头,返回客户端接受内容的首选的区域设置。
8Object getAttribute(String name)
以对象形式返回已命名属性的值,如果没有给定名称的属性存在,则返回 null。
9ServletInputStream getInputStream()
使用 ServletInputStream,以二进制数据形式检索请求的主体。
10String getAuthType()
返回用于保护 Servlet 的身份验证方案的名称,例如,"BASIC" 或 "SSL",如果JSP没有受到保护则返回 null。

request下的一些请求头

Accept这个头信息指定浏览器或其他客户端可以处理的 MIME 类型。值 image/png 或 image/jpeg 是最常见的两种可能值。
Accept-Charset这个头信息指定浏览器可以用来显示信息的字符集。例如 ISO-8859-1。
Accept-Encoding这个头信息指定浏览器知道如何处理的编码类型。值 gzip 或 compress 是最常见的两种可能值。
Accept-Language这个头信息指定客户端的首选语言,在这种情况下,Servlet 会产生多种语言的结果。例如,en、en-us、ru 等。
Authorization这个头信息用于客户端在访问受密码保护的网页时识别自己的身份。
Connection这个头信息指示客户端是否可以处理持久 HTTP 连接。持久连接允许客户端或其他浏览器通过单个请求来检索多个文件。值 Keep-Alive 意味着使用了持续连接。
Content-Length这个头信息只适用于 POST 请求,并给出 POST 数据的大小(以字节为单位)。
Cookie这个头信息把之前发送到浏览器的 cookies 返回到服务器。
Host这个头信息指定原始的 URL 中的主机和端口。
If-Modified-Since这个头信息表示只有当页面在指定的日期后已更改时,客户端想要的页面。如果没有新的结果可以使用,服务器会发送一个 304 代码,表示 Not Modified 头信息。
If-Unmodified-Since这个头信息是 If-Modified-Since 的对立面,它指定只有当文档早于指定日期时,操作才会成功。


response对象下的一些方法(在servlet中设置响应的值)。Servlet 服务器的HTTP 响应

在服务器中处理完的数据将会打包成response对象,送给服务器进行显示。

而浏览器需要一些非文本值来确定文本信息该如何显示。

response一些设置的方法

  • sendError(int status code) :发送错误信息并带状态码。
  • sendError(int sc,string message):发送状态码并带有错误信息
  • setStatus(int sc) :设置状态码.
  • setHeader(String name,String value):设置响应头的值
  • addHeader(String name,String value):添加名为name的响应头的值.
  • setDateHeader(String name,String value):设置响应头的值,以毫秒做单位的类型
  • sendRedirect(String url):设置重定向.

 response下的一些响应头

  • Location:设置重定向跳转的页面的url
  • cache-Control,pragma,expires(失效时间) :用于设置浏览器缓存情况  no-cache ;no-cache; -1ms 为清除浏览器缓存
  • refresh :过几秒刷新
  • Content-Length:这个头信息指示响应中的字节数。只有当浏览器使用持久(keep-alive)HTTP 连接时才需要这些信息。
  • Set-Cookie:这个头信息指定一个与页面关联的 cookie。
  • Connection:这个头信息指示浏览器是否使用持久 HTTP 连接。值 close 指示浏览器不使用持久 HTTP 连接,值 keep-alive 意味着使用持久连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值