HTTP请求响应头信息|用Servlet如何实现验证码

时间:2021-04-21 21:07:31

1、http传输的信息内容
当我们浏览器端和服务器端进行信息交互时,http除了发送请求和响应信息外,还会自动发送一系列的附加信息。这些Http自动发送的附加信息,称为http头信息。
(1)分类
根据请求和响应的不同阶段,将http头信息,分成请求头信息响应头信息

(2)请求头信息
A:理解
在向服务器端发送请求的同时,浏览器自动向服务器发送的一系列的附加信息。
B:目的
告诉服务器端,客户端能够或希望接收的响应信息。
C:特点
头信息,总是名称与值的成对的集合(类似于属性Attrabute、parameter和Map集合的构成)。
浏览器自动实现,不需要进行人为的操作。
D:请求头信息的捕获
E:用户请求的组成
用户的请求实际上由三个部分组成
http版本,请求头信息,真正的请求的资源。

请求报头的读取比较简单,只需要知道报头的名字,再调用request.getHeader(String name)就可以了。

大多数情况下,每个报头在请求中只出现一次,,但也有个别的如accept-language会出现多次,每次也出现不同的值。此时,可用request.getHeaders(String name)获得所有值的枚举。

HTTP的状态码,无论是用哪一种语言开发,状态码都一样,只要是使用的HTTP协议即可。

Http协议的状态码不居于任何语言的改变而改变,其中特定的状态代码,这些代码分为5类:

  100~199:这之间的代码都是信息性的,标示客户应该采取的其它动作;

  200~299:表示请求成功;

  300~399:用于那些已经移走的文件,常常包括Location报头,指出新的地址;

  400~499:表明由客户引发的错误;

  500~599:表示由服务器引发的错误;

其中比较重要、常用的状态码有:⑴、200 :表示一切OK,一切正常;

⑵、400 :请求出现语法错误;

⑶、404 :无法找到指定位置的资源;

⑷、405 :请求方法(GETPOSTHEADDELETEPUTTRACE等)对指定的资源不适用;

⑸、500 :内部服务器程序有问题,抛异常;

⑹、503 :服务器不可用;

⑺、505 :不支持的Http版本;

    客户端的请求由一个http命令(get/post)、0或多个请求报头以及要请求的资源组成。

    服务器的响应一般由一个状态行、一些响应报头、一个空行和相应文档组成。

    Http响应的状态行由http版本、一个状态代码和一段消息组成。

    http版本由服务器来决定,一般情况下,servlet也不需要设置状态代码,系统自动默认为200如果需要明确指明当前程序的运行状态,则可以利用response.setStatus(int 状态代码)进行设置

------------------------------------------------------------ 响应头信息
A:理解
服务器端向客户端发送响应信息时, 浏览器自动发送的一系列的名称与值的附加信息的集合。
B:作用
告诉浏览器,准备接收什么信息,做什么类型的准备工作。
C:设置响应头信息的内容
第一部分:http状态码,表示当前的请求处理的结果(成功还是失败)
第二部分:响应头信息
第三部分:空行
第四部分:真正的响应内容


例如:refresh响应头信息的使用。
HTTP请求响应头信息|用Servlet如何实现验证码

服务器发回给客户端的一些有用信息叫响应报头。

  响应报头的作用:指定cookie,提供页面修改时间,指示浏览器在指定时间间隔后刷新,制定生成文档的类型,指定页面重定向等

Content-Type    给出响应文档的MIME

Refresh  指明浏览器应该多长时间之后请求最新的页面

 1、  常见的MIME类型:

 

类型

含义

application/msword

Microsoft Word文档

application/vnd.ms-excel

Excel电子表格

 

 

application/pdf

Acrobat(.pdf)文件

application/x-gzip

Gzip档案

application/zip

Zip档案

Audio/midi

MIDI音频文件

Audio/x-aiff

Microsoft Windows音频文件

Image/jpeg

JPEG图像

Image/png

PNG图像

Image/tiff

TIFF图像

Text/html

HTML文档

Text/xml

XML

Video/mpeg

MPEG视频片断

 

 

 

-------------------------------------------------------------------

二、输出图片(验证码的实现)servlet的基本工作思路
A:设置输出信息格式为一个图片
B:获得输出流
C:实例化图片对象
D:获得绘图对象
E:设置背景色
F:填充背景色
G:设置前景色和字体
H:获得输出信息
I:输出信息
J:生成输出图片
HTTP请求响应头信息|用Servlet如何实现验证码