MINE Type 是该资源的媒体类型,MIME Type不是个人指定的,是经过互联网(IETF)组织协商,以 RFC(是一系列以编号排定的文件,几乎所有的互联网标准都有收录在其中) 的形式作为建议的标准发布在网上的,大多数的 Web 服务器和用户代理都会支持这个规范 (顺便说一句,Email 附件的类型也是通过 MIME Type 指定的)。
媒体类型通常通过HTTP协议,有web服务器告知浏览器,更准确地说,是Content-Type来表示的。例如:Content-Type:text/html.通常只有在互联网上广泛应用的格式才会获得一个MIME Type,如果是某个客户端自己定义的格式,一般只能以application/x-开头。
HTTP三个注意事项
1.http是无连接的:每次只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。节约传输时间
2.http是媒体独立的:只要客户端和服务器知道如何处理数据内容,任何类型的数据都可以通过http发送。客户端以及服务器指定使用合适的MIME-Type内容类型。
3.http是无状态的:对事物处理没有记忆能力。
HTTP使用统一的资源标识符(url)来传输数据和建立连接。
请求头和响应头哪些是必须的?
Accept:浏览器可接受的MIME类型
Accept-Chaeset:浏览器可接受的字符集
Accept-Encoding:浏览器能够进行解码的数据编码方式
Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到
Authorization:授权信息,通常出现在对服务器发送的WWW-Authorization头的应答中
Connection:表示是否需要持久连接。如果Servlet看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP1.1(HTTP1.1默认是长连接),它就可以利用持久连接的优点,当页面包含多个元素的时候(suchApplet,image),显著地减少下载所需时间。要实现这一点,servlet需要在应答中发送一个Content-Length头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然后在正式写出内容之前计算它的大小
Content-Length:表示请求消息正文的长度
Cookie:
Form:请求发送者的email地址,浏览器不用
Host:初始url中的主机和端口
If-Modified-Since:只有当所请求的内容在指定的日期之后又进过修改才返回它,否则返回304“not-modified”应答。
Pragma:指定“no - cache”值表示服务器必须返回一个刷新后的文档,即使它是代理服务器而且已经有了页面的本地拷贝。
Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。
User - Agent:浏览器类型,如果Servlet返回的内容与浏览器类型有关则该值非常有用。
UA - Pixels,UA - Color,UA - OS,UA - CPU:由某些版本的IE浏览器所发送的非标准的请求头,表示屏幕大小、颜色深度、操作系统和CPU类型。
请求头:
accept:浏览器通过这个头告诉服务器,它所支持的数据类型
Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集
Accept-Encoding:浏览器通过这个头告诉服务器,支持的压缩格式
Accept-Language:浏览器通过这个头告诉服务器,它的语言环境
Host:浏览器通过这个头告诉服务器,想访问哪台主机
If-Modified-Since: 浏览器通过这个头告诉服务器,缓存数据的时间
Referer:浏览器通过这个头告诉服务器,客户机是哪个页面来的 防盗链
Connection:浏览器通过这个头告诉服务器,请求完后是断开链接还是何持链接
响应头
Location: 服务器通过这个头,来告诉浏览器跳到哪里
Server:服务器通过这个头,告诉浏览器服务器的型号
Content-Encoding:服务器通过这个头,告诉浏览器,数据的压缩格式
Content-Length: 服务器通过这个头,告诉浏览器回送数据的长度
Content-Language: 服务器通过这个头,告诉浏览器语言环境
Content-Type:服务器通过这个头,告诉浏览器回送数据的类型
Refresh:服务器通过这个头,告诉浏览器定时刷新
Content-Disposition: 服务器通过这个头,告诉浏览器以下载方式打数据
Transfer-Encoding:服务器通过这个头,告诉浏览器数据是以分块方式回送的
Expires: -1 控制浏览器不要缓存
Cache-Control: no-cache
Pragma: no-cache