资讯专栏INFORMATION COLUMN

听说你叫Java(二)–Servlet请求

adie / 3223人阅读

摘要:服务器响应当客户端发送了一个请求给服务器,服务器也会返回一个响应给客户端,同样的,这个响应中也包含了除数据之外的很多信息。如果没有指定,会在所有对此站点的传送时发送。正常情况下,只被送回最初向用户发送的计算机。下一章大巴司机和。

Servlet客户端HTTP请求

当浏览器发送请求到服务器的时候,这个请求是不能被直接读取的,请求中包含了非常多的信息,而需要被读取的,只是请求中的一部分。

如图

我们可以看一下请求头有哪些常用的信息,以及它们的作用是什么

Accept-Charset

这个头信息告诉服务器处理表单数据所需要使用的字符集。

我们知道,在

中有一个属性叫做accept-charset,就是用来设置请求头中Accept-Charset属性的值的。

常用的值有ISO-8859-1UTF-8

Connection

我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HTTP协议为无连接的协议)

当使用Keep-Alive模式(又称持久连接、连接重用)时,Keep-Alive功能使客户端到服 务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。

Cookie

Cookie大家应该都非常熟悉了,这个信息就是用来存放Cookie,并传给服务器的。

If-Modified-Since&If-Unmodified-Since

这两个头信息的值都是Date格式,用来告诉服务器所需要的文件的日期范围。

如果服务器上没有更新或者更旧的文件,就会返回一个304的状态码,表示文件并没有改动,可以直接从缓存中加载。

User-Agent

这个信息记录了发出请求的客户端的信息,包含了浏览器类型、版本等信息。通过这个信息可以做浏览器类型判断。

Servlet服务器HTTP响应

当客户端发送了一个请求给服务器,服务器也会返回一个响应给客户端,同样的,这个响应中也包含了除数据之外的很多信息。

如图

Control-Allow-Origin

Access-Control-Allow-Origin是HTML5中定义的一种解决资源跨域的策略。

如果设置为我们自己当前页面的域名时,浏览器才会允许我们拿到这个响应的数据,并进行下一步的处理。当设置为*的时候,表示该资源谁都可以用。

Content-Type

这个头信息告诉浏览器这个响应的数据格式及编码类型。

常用值为application/json;charset=utf-8

Server

通过服务器的响应头,我们还能知道服务器的类型。

Set-Cookie

Web服务器通过传送HTTP 包头中的Set-Cookie 消息把一个cookie 发送到用户的浏览器中。

完整的Set-cookie格式如下

Set-Cookie:customer=huangxp; path=/foo; domain=.ibm.com; 
expires= Wednesday, 19-OCT-05 23:12:40 GMT; [secure]

path=/foo 控制哪些访问能够触发cookie 的发送。如果没有指定path,cookie会在所有对此站点的HTTP传送时发送。

如果path=/directory,只有访问/directory 下面的网页时,cookie才被发送。

domain=.ibm.com 指定cookie被发送到哪台计算机上。

正常情况下,cookie只被送回最初向用户发送cookie的计算机。如果domain 被设为空,domain就被设置为和提供cookie 的Web 服务器相同。如果domain不为空,并且它的值又和提供cookie的Web服务器域名不符,这个Cookie将被忽略。

expires= Wednesday, 19-OCT-05 23:12:40 GMT 指定cookie 失效的时间。如果没有指定失效时间,这个cookie 就不会被写入计算机的硬盘上,并且只持续到这次会话结束。

secure 如果secure 这个词被作为Set-Cookie 头的一部分,那么cookie 只能通过安全通道传输(目前即SSL通道)。否则,浏览器将忽略此Cookie。

最后

这么多的属性留给我们去使用,去交互数据,它们就像一个个的座位,Servlet的HTTP请求就像一辆在客户端和服务器之间往返的大巴。

一个复杂的Web应用正是因为这些大巴组成的交通网才能畅通无阻。

下一章——大巴司机HttpServletResponseHttpServletRequest

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/67004.html

相关文章

  • 听说你叫Java(一)--Servlet简介

    摘要:所以,就是接收浏览器或其他客户端发来的请求,根据请求操作数据库,并返回请求所需要的数据。和方法是每次服务请求中最常用的方法,分别用于处理和请求。实现一个简单的在中新建一个项目。接着,在目录下新增一个,命名为。 本文是菜鸟教程阅读笔记,详细请前往菜鸟教程 是什么 Java Servlet是运行在Web服务器上的程序,它是作为来自Web浏览器和服务器上的数据库之间的中间层。 简单点说,我们...

    Reducto 评论0 收藏0
  • 听说你叫Java(三)–Servlet过滤器

    摘要:幸好,给我们提供了过滤器解决这个问题。可以将一个或多个过滤器附加到一个或一组。同样的,过滤器是可用于编程的类,也需要在中声明的。用户访问后续过滤器。过滤器和拦截器是两个完全不同的概念。 听说你改bug很厉害,帮我改一个吧????showImg(https://segmentfault.com/img/bVMsm7?w=402&h=223); 上一章我们讲到了Servlet请求,可以通过...

    techstay 评论0 收藏0
  • Java中的同步与异步

    摘要:一进程同步及异步的概念进程同步就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。同步传输通常,同步传输是以数据块为传输单位。三同步阻塞与异步阻塞同步是阻塞模式,异步是非阻塞模式。 进程同步用来实现程序并发执行时候的可再现性。 一.进程同步及异步的概念 1.进程同步:就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一...

    chnmagnus 评论0 收藏0
  • Java中的乱码问题研究(

    摘要:一前言上面写了的乱码问题,接下来写的是中中的问题,大楷我比较关心一点,因为遇到这个的情况多一些吧。注意是就行了,之前采用是由用户设置的编码方式解析,过后有个参数被默认了,就使用了解析了,这儿是配置中的关键。 一、前言 上面写了console的乱码问题,接下来写的是web中servlet中的问题,大楷我比较关心一点,因为遇到这个的情况多一些吧。直接开始吧。 二、jsp和servlet中的...

    mochixuan 评论0 收藏0
  • JavaWeb从0开始学(一)-----第一个Web应用程序与JSP工作原理

    摘要:当后继请求相同的页面时,容器加载之前生成的类,并且通知去执行已经存在的字节码,从而省去了转换的过程,这也是第一次执行页面时间较长的原因。 以往学习的时候大多是看完书或者看完视频,动手实践一下就OK了。然而过了一段时间我发现东西都忘差不多了,需要复习才能重新掌握。现在开始学习JavaWeb了,我将在这里记录自己的学习的一点一滴,不仅便于自己以后回顾知识点,也希望能对JavaWeb初学者有...

    CloudDeveloper 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<