报头的HTTP报头学习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了报头的HTTP报头学习相关的知识,希望对你有一定的参考价值。

参考技术A

在计算机html中报头是“报文头部”的简写,message head。报头对应的是数据传输消息。
请求报头由浏览器间接地设定,并跟在初始的GET和POST请求行之后发送,比如:
GET /servlet/Search?keywords=servlet+jsp HTTP/1.1
Accept: image/gif, image/jpg
Connection: Keep-Alive
Cookie: userID=id456578
Host: WWW.*****.COM
Referer: HTTP:WWW.****.HTML
User-Agent: Mozilla/4.0
对请求报头的访问,使得servlet能够执行许多优化,并提供大量特性
Accept: 指定浏览器或其他客户程序能够处理的MIME类型: request.getHeader(Accept);
Accept-Charset: 使用的字符集,如ISO-8859-1
Accept-Encoding: 客户端能够处理的编码类型,如gzip或compress
Accept-Language: 客户端的首选语言
Authorization: 客户用这个报头来标识自己的身份
Connnection: 标明客户是否能够处理持续性HTTP连接。持续性连接允许客户或者浏览器在单个socket中读取多个文件,从而节省协商几个独立连接所需的开销
Content-Length: 只适用于POST请求,用来给定POST数据的大小,以字节为单位: request.getContentLength
Cookie: 向服务器返回cookie,这些cookie是之前由服务器发送给浏览器的:request.getCookies
Host: 标明原始URL中给出的主机名和端口号
If-Modified-Since: 仅当页面在指定日期之后发生改变的情况下,客户程序才希望获取该页面。如果没有更新的结果,则服务器发送304报头。这个选项十分有用,因为使用它,浏览器可以缓存文档,只在它们发生改变时才通过网络重新载入它们
Referer: 标明引用Web页面的URL
User-Agent:请求的浏览器或者其他客户程序
关于响应报头:
Web服务器对请求的响应,一般由一个状态行,一些响应报头,一个空行和响应的文档组成
HTTP/1.1 200 OK
Content-Type: text/html
Header 2: ...
Header N: ...
(Blank Line)
<!DOCTYPE>
<HTML>
<HEAD>...</HEAD>
<BODY>...</BODY>
</HTML>
首先看HTTP状态代码:
200: OK
302: sendRedirect
404: sendError
关于响应报头的其他部分:
Allow: 指定服务器支持的请求方法(GET,POST等)
Cache-Control: 告诉浏览器或者其他客户,什么环境可以安全地缓存文档
Connection: close值,指定浏览器不用使用持续性的HTTP连接
Content-Disposition: 要求浏览器询问客户,将响应存储在磁盘上给定名称的文件中
Content-Encoding: 标明页面在传输过程中所使用的编码方式
Content-Language: 文档使用的语言
Content-Length: 响应中的字节数
Content-Type: MIME
Expires: 规定内容的过期时间,从而不再需要继续缓存: response.setDataHeader(Expires, Time)
Last-Modified: 标明文件最后的修改时间
Location: 300-399之间的所有响应都应该包括这个报头,它通知浏览器文档的地址
Refresh: 标明浏览器应该多长时间之后请求最新的页面: response.setIntHeader(Refresh, 30)
Set-Cookie: 指定一个同页面相关的cookie
有的细节还不是非常的清楚,以后慢慢再了解
还有一点想说一下,也是Core Servlets and JavaServer Pages中的内容,对于执行耗时较长的计算任务的处理方法:
只需启动一个Thread,将该线程的优先级设为一个较低的值,这样才不致于影响整个服务器的运行,当然需要不断使用
If(!isLastResult)
response.setIntHeader(Refresh, 5)

对于具体的运算类,可以这样定义:
Thread t =new Thread(this);
t.setPriority(Thread.MIN_PRIORITY);
t.start();
这样做的好处是:不让用户等待过长的时间。

Http报头Accept与Content-Type的区别(转)

1.Accept属于请求头, Content-Type属于实体头。 

Http报头分为通用报头,请求报头,响应报头和实体报头。 

请求方的http报头结构:通用报头|请求报头|实体报头 

响应方的http报头结构:通用报头|响应报头|实体报头

2.Accept代表发送端(客户端)希望接受的数据类型。 

比如:Accept:text/xml; 

代表客户端希望接受的数据类型是xml类型

Content-Type代表发送端(客户端|服务器)发送的实体数据的数据类型。 

比如:Content-Type:text/html; 

代表发送端发送的数据格式是html。

3、二者合起来

Accept:text/xml; 

Content-Type:text/html 

即代表希望接受的数据类型是xml格式,本次请求发送的数据的数据格式是html。

 

参考:

http://blog.csdn.net/muzizongheng/article/details/46795243(以上内容转自此篇文章)

以上是关于报头的HTTP报头学习的主要内容,如果未能解决你的问题,请参考以下文章

物联网协议CoAP协议学习

Http报头Accept与Content-Type的区别(通用报头|请求报头|实体报头)

Http报头Accept与Content-Type的区别

HTTP报头

Http报头Accept与Content-Type的区别

Http报头Accept与Content-Type的区别(转)