HTTP协议定义了很多与服务器交互的方法,最基本的有4种,分别是:POST(增)、GET(查)、PUT(改)、DELETE(删)。
HTTP的头信息包括通用头、请求头、响应头和实体头四个部分。每个头域由一个域名、冒号和域值三部分组成。
1、通用头部:是客户端和服务器都可以使用的头部,通用头域包含Cache-Control、 Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。
2、请求头部:是请求报文特有的,他们为服务器提供一些额外信息,比如客户端希望接收什么类型的数据,如Accept头部。
3、响应头部:便于客户端提供信息,比如客户端在与哪种类型的服务器进行交互,如Server头部。
4、实体头部:用于应对实体主体部分的头部。比如可以在实体头部来说明实体主体部分的数据类型,如Content-type头部。
*1,HTTP请求头和响应头的含义
请求头:
Accept 告诉WEB服务器自己接受什么样的介质类型。
(1)Accept:text/xml 代表客户端希望接收的数据类型是xml类型
(2)Accept:application/json 代表客户端希望接收的数据类型是json类型
Accept-Charset: ISO-8859-1(浏览器可以接收的编码类型)
Accept-Encoding: gzip,compress(浏览器可以接收压缩编码类型) 浏览器申明自己接收的编码方式
Accept-Language: en-us,zh-cn(浏览器可以接收的语言和国家类型)
Host: www.it315.org:80(浏览器请求的主机和端口)
If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT(某个页面缓存时间)
Referer: http://www.it315.org/index.jsp(请求来自于哪个页面)
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)(浏览器相关信息)
Cookie:(浏览器暂存服务器发送的信息)
Connection: 请求:(1)close(告诉服务器在完成本次请求的响应后,断开连接,不要等待本次连接的后续请求) http1.0
(2)keep alive(在完成本次请求后,保持连接,等待本次连接的后续请求) http1.1
Date: Tue, 11 Jul 2000 18:23:51 GMT(请求网站的时间)
Cache-Control:浏览器应遵循的缓存机制。
If-Modefined-Since:允许在对应的资源未被修改的情况下返回304未修改 对应响应头的Last-Modefined
If-None-Match:允许在对应的资源未被修改的情况下返回304未修改 对应响应头的ETag
响应头:
Location: http://www.it315.org/index.jsp(控制浏览器显示哪个页面)
Server:apache tomcat(服务器的类型)
Content-Encoding: gzip(服务器发送的压缩编码方式)
Content-Length: 80(服务器发送显示的字节码长度)
Content-Language: zh-cn(服务器发送内容的语言和国家名)
Content-Type: image/jpeg; charset=UTF-8(服务器发送内容的类型和编码类型)
Refresh: 1;url=http://www.it315.org(控制浏览器1秒钟后转发URL所指向的页面)
Content-Disposition: attachment; filename=aaa.jpg(服务器控制浏览器发下载方式打开文件)
Transfer-Encoding: chunked(服务器分块传递数据到客户端)
Set-Cookie:SS=Q0=5Lb_nQ; path=/search(服务器发送Cookie相关的信息)
Expires: -1(服务器控制浏览器不要缓存网页,默认是缓存)
Cache-Control:服务器应遵循的缓存机制。
no-cache(服务器控制浏览器不要缓存网页)
Last-Modefined:服务器通过这个头告诉浏览器,缓存资源的最后修改时间
ETag:缓存相关的头,为每一个资源分配唯一的编号
Pragma: no-cache(服务器控制浏览器不要缓存网页)
Connection: close/Keep-Alive(HTTP请求的版本的特点)
Date: Tue, 11 Jul 2000 18:23:51 GMT(响应网站的时间)
Accept与content-type的区别
(1)类型不同,Accpet属于请求头,content-type属于实体头(客户端与服务器端均存在)
(2)作用不同,Accept代表客户端希望接收的数据类型;content-type代表发送端(客户端|服务器端)发送的实体数据的数据类型。
两者合起来,Accept:text/xml;Content-type:text/html 代表希望接收的数据类型是xml格式,本次请求的数据的数据格式是html。
Content-type常见的几种值: 使用content-type来表示具体请求中的媒体类型信息。
常见的媒体格式类型:
text/html:HTML格式
text-plain:纯文本格式
text/xml:XML格式
image/gif:gif图片格式
image/jpeg:jpg图片格式
image/png:png图片格式
以application开头的媒体格式类型:
application/xhtml+xml:XHTML格式
application/xml:XML数据格式
application/json:json数据格式