1.使用的协议是HTTP。先要了解HTTP头部信息有什么?作用
是什么?
每个HTTP请求和响应都会带有相应的头部信息。默认情况下,在发送XHR请求的同时,还会发送下列头部信息:
- Accept:浏览器能够处理的内容类型
- Accept-Charset:浏览器能够显示的字符集
- Accept-Encoding:浏览器能够处理的压缩编码
- Accept-Language:浏览器当前设置的语言
- Connection:浏览器与服务器之间连接的类型
- Cookie:当前页面设置的任何Cookie
- Host:发出请求的页面所在的域
- Referer:发出请求的页面的URL
- User-Agent:浏览器的用户代理字符串
例如:chrome下的请求头信息:
:
虽然不同浏览器实际发送的头部信息会有所不同,但以上列出的基本上是浏览器都会发送的,用setRequestHeader()方法也可以设置请求头信息,该函数接受两个参数:头部字段的名称和头部字段的值。要成功发送请求头部信息,需在调用open方法之后且调用send方法之前调用。
HTTP响应头部信息:
- Date:表示消息发送的时间,时间的描述格式由rfc822定义
- server:服务器名字。
- Connection:浏览器与服务器之间连接的类型
- content-type:表示后面的文档属于什么MIME类型
- Cache-Control:控制HTTP缓存
以上是基本常见的信息
以上Expires 头部字段提供一个日期和时间,响应在该日期和时间后被认为失效
2.如何读取HTTP的请求头信息?
思路:HTTP请求,都是由name和value组成的。常用的方式
是:通过枚举方法获取到所有的names,然后通过names或者
全部的values。然后遍历输出即可。这样可以获得全部的头部信
息。
常用的几个一般函数:
-getHeader()(前提是知道name,才可以知道values)
-getHeaders()
-getHeaderNames()(提取所有的names)
2.1创建一个HeaderServlet的类,继承HttpServlet。
代码如下:
2.2几个函数的作用:
---hasMoreElements()具体解释;
--nextElement()具体解释:
2.3执行的输出结果如下:
2.4如果要执行具体的任务,比如要根据user-agent判断是什么浏览器,
那么就可以只对该参数进行提取和处理
结果显示:
这是我在猎豹浏览器访问URL的结果:
注意:但是有个问题,就是我的这个电脑就在我的HeaderServlet中写了一次,但是为什么执行了输出了两次这个结果?
有待解决。。。。
2.5解释下什么的枚举。以及基本的应用。
该文章转载:https://blog.csdn.net/qq_27093465/article/details/52180865
但是有个问题是最后的实例的,函数useEnumInjava以及F5怎么输出的??
参考:https://www.cnblogs.com/hxc555/p/6506154.html