HTTP Header说明

HTTP Header简要说明

 1、HTTP返回状态码

HTTP协议中,对服务器返回的状态码定义如下:

1xx: Informational,例如,服务器要求身份验证。

2xx: Success,例如:200表示服务器正确处理,返回正确的页面。

3xx: Redirection,表示页面重定向,定向到别的页面或网址。

4xx: Client Error,例如:403表示禁止访问,404表示要访问的网页不存在。

5xx: Server Error,服务器内部错误,当服务器不能正确响应请求时的状态码。例如:CGI程序没有输出Header(头部),或输出的头部没有正常结束。

2、HTTP头部参数

HTTP头部可以带多个控制参数,每个参数占一行。各个参数之间没有先后顺序要求。参数后面换行后再加一个空行,表示头部结束。常见的控制参数有:

Content-Type:页面内容的类型,例如:text/html。

Content-Length:返回的页面字节数(不包括头部),例如:12456。

Set-Cookie:设置Cookie。格式为:Cookie名称=Cookie值,以及域名,生存期等控制属性。

Location:设置重定向URL。

Pragma:通常用于告诉客户端浏览器是否缓存页面。

Expires:缓存页面时的到期时间。

HTTP头部的一个示例如下:

Content-Type: text/html; charset=gb2312

Content-Length: 3124

Set-Cookie: a=b;

Location: /index.jsp

Pragma: no-cache

Expires: 0

HTTP返回状态码也在头部,但通常不需要程序设置,由Web Server自动完成。

在C、perl等CGI程序中,按示例的格式直接输出HTTP头部即可,注意:最后一个参数的后面必须紧给两个换行。以C为例:

printf("Content-Type: text/html; charset=gb2312n"); //页面内容以及使用的字符集

printf("Content-Length: 3124n"); //在CGI程序中,通常不需要输出本参数,这里仅作为样例

printf("Set-Cookie: a=b;nn"); //设置Cookie,并使头部结束

在jsp中,可以通过response对象直接设置HTTP头部控制参数,调用方式为:

response.setHeader(name, value);

例如,不需要浏览器缓存当前页面时,在jsp中应调用如下代码:

response.setHeader("Pragma", "no-cache");//强制刷新页面

response.setHeader("Expires", "0");

你可能感兴趣的:(header)