HTTP请求的内容:
一个请求行、若干消息头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。
请求行:用于描述客户端的请求方式、请求的资源名称以及使用的HTTP协议的版本号。
eg: GET /demo/index.jsp HTTP/1.1
消息头:用于描述客户端请求哪台主机、以及客户端的一些环境信息等。
【Accept:告诉服务器,浏览器所支持的数据类型;
Accept-Charset:告诉服务器,浏览器所支持的字符集;
Accept-Encoding:告诉服务器,浏览器所支持的数据压缩算法;
Accept-Language:告诉服务器,客户端的语言环境;
Host:告诉服务器,浏览器访问服务器上的哪台主机;
If-Modified-Since:告诉服务器,缓存网页的时间;
Referer:告诉服务器,浏览器是从哪个网页来的;
User-Agent:告诉服务器,浏览器的版本;】
HTTP响应的内容:
一个状态行、若干消息头、以及实体内容,其中的一些消息和实体内容都是可选的,消息头和实体内容之间要用空行隔开。
状态行:用于描述服务器对请求的处理结果。
格式:HTTP版本号 状态码 原因叙述
eg: HTTP/1.1 200 OK
状态码用于表示服务器对请求的处理结果,响应状态码分为5类:
100~199 表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程;
200~299 表示成功接收请求并已完成整个处理过程,常用200;
300~399 为完成请求,客户需进一步细化请求。eg:请求的资源已经移动到一个新的地址,常用302、307和304;
400~499 客户端的请求有错误,常用404;
500~599 服务器端出现错误,常用500。
消息头:用于描述服务器的基本信息,以及数据的描述,服务器通过对这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据。
【Location:用于浏览器去找哪个资源;
Server:服务器是什么类型的服务器;
Content-Encoding:用于告诉浏览器,数据的压缩类型;
Content-Length:用于告诉浏览器,服务器回送数据的大小;
Content-Language:用于告诉浏览器,服务器回送数据的语言;
Content-Type:用于告诉浏览器,服务器回送数据的类型;
Last-Modified:用于告诉浏览器,数据的最后更新时间;
Refresh:用于告诉浏览器,刷新回送数据;
Content-Disposition:用于告诉浏览器,以下载的方式打开回送的数据;
Transfer-Encoding:传输数据的编码类型;
Expires:-1 告诉浏览器回送数据的缓存多长时间,如果值为0或者负数的话,就是不缓存;
Cache-Control:no-cache 通知浏览器不要缓存数据;
Pragma:no-cache 通知浏览器不要缓存数据;
】