HTTP超文本传输协议

2017-06-25  本文已影响0人  云承寒

HTTP是 TCP/IP 中应用层上的协议,用于定义WEB浏览器与WEB服务器之间数据传输,反馈的过程,以及数据本身的格式。

HTTP协议的主要特点
HTTP请求消息

请求消息包含三大部分:请求行,请求头,请求体。

1.请求行

位于请求消息的第一行。
格式:请求方式 资源路径 HTTP版本号

常用请求方式:GET和POST方式。
通过Get方式向服务器传递数据,就是在URL请求路径后加上?多个参数以 & 分割。

如 http://localhost:8080/a.html?username=abc&password=123

注意
Get请求方式,数据传输不安全,且URL长度有大小限制(2KB)
GET和POST请求的区别
GET POST
请求参数 存放在请求行,Url?key=value&key=value 存放在实体中
数据限制 <=2KB
缓存限制 可以缓存 没有缓存
安全性 不安全 安全
2.请求头

请求头作用:向服务器传递客户端的一些基本信息。
请求头位置:从第二行开始到第一个空行。

Accept:浏览器可接受的MIME类型(内容类型)(Tomcat安装目录/conf/web.xml中查找)
Accept-Charset:告知服务器,客户端支持哪种字符集。
Accept-Encoding:浏览器能够进行解码的数据编码方式。
Accept-Language:浏览器支持的语言。

Referer:当前页面由哪个页面访问过来的。

Content-Type:通知服务器,请求正文的MIME类型。
取值:application/x-www-form-urlencoded,默认值对应的是form表单的enctype属性。

Content-Length:请求正文的长度。
If-Modified-Since:通知服务器,缓存的文件的最后修改时间。

User-Agent:通知服务器,浏览器类型。

Connection:表示是否需要持久连接。

Cookie:这是最重要的请求头信息之一(会话有关)。
3.请求实体

从第一个空行开始,后面的都是正文。
只有POST请求才有请求实体,POST的请求实体就是传送的参数。


HTTP响应消息

响应消息包含三大部分:状态行,响应头,响应体。

1.状态行

位于响应消息的第一行
格式: HTTP版本号 状态码

2.响应头

从第二行开始到第一个空行

Location:制定转发的地址。需与302/307响应码一同使用。

Server:告知客户端服务器使用的容器类型。
Content-Encoding:告知客户端服务器发送的数据所采用的压缩格式。

Content-Length:告知客户端正文的长度。
Content-Type:告知客户端正文的MIME类型。

Refresh:定期刷新。还可以刷新到其他资源。

Content-Disposition:指示客户端以下载的方式保存文件。
Expires:网页的有效时间。单位是毫秒(等于-1时表示页面立即过期)。

控制客户端不要缓存
Cache-Control:no-cache
Pragma:no-cache

Set-Cookie:SS=Q0=5Lb_nQ; path=/search:服务器端发送的Cookie(会话有关)
3.响应正文

从第一个空行开始,后面的都是正文,就是网页的源代码。

上一篇 下一篇

猜你喜欢

热点阅读