一.HTTP协议
1.请求(Request)消息
(1)请求起始行
1.请求方法
get:无请求主体
向服务器要数据时使用
post:有请求主体
向服务器传递数据时使用
put:表示客户端向放置文件到服务器(一般禁用)
delete:表示客户端要删除服务器上的数据(一般禁用)
head:表示客户端只获取指定的响应头
connect:测试连接
trace:追踪请求路径
options:选项,保留以后使用
2.请求url
3.协议版本:HTTP/1.1
(2)请求头
1.Host:localhost
作用:告诉服务器请求的是哪个主机
2.Connection:keep-alive
作用:告诉服务器要进行持久连接
3.User-Agent:
作用:告诉服务器自己(浏览器)的类型
4.Accept-Language:zh-cn
作用:告诉服务器自己能接收的自然语言
5.Accept-Encoding:gzip
作用:告诉服务器自己能接收的数据压缩类型是什么
6.Referer:http://localhost/01-login.html
作用:告诉服务器请求是来自哪个页面
(3)请求主体
如果是get方法无请求主体,如果是post方法即查看Form Data
2.响应(Response)消息
(1)响应起始行
1.协议版本:HTTP/1.1
2.响应状态码
作用:告诉浏览器,服务器的响应状态是什么
1xx:100-199 提示信息
2xx:
200:响应成功 ok
3xx:需要进行重定向
301:永久的重定向
302:临时的重定向
304:Not Modified 请求未被修改,走缓存
4xx:客户端请求错误
404:Not Found 请求资源不存在(文件路径)
403:Forbiden 权限不够
405:Method Not Allowed 请求方法不被允许
5xx:服务器运行错误
500:服务器内部错误
3.原因短句 对状态码的解释说明
(2)响应头
1.Date:Thu, 30 Aug 2018 03:11:45 GMT(格林尼治时间)
2.Connection:
作用:告诉浏览器已经启动持久连接
3.Content-Type
作用:响应主体的类型是什么,告诉浏览器该用什么方式解析响应主体
text/html:响应回来的是html文本
text/plain:响应回来的是普通文本
text/css:响应回来的是css样式
application/javascript:响应回来的是js脚本
application/xml:响应回来的数据是xml格式的字符串
application/json:响应回来的数据是json格式的字符串
image/jpg:响应回来的是图片
(3)响应主体
Response
二.缓存
1.什么是缓存
客户端将服务器响应回来的数据进行自动保存,当再次访问时,直接使用已保存的数据。
2.缓存的优点
1.减少冗余数据的传递,节省客户端流量
2.降低了对服务器资源的消耗和运行要求
3.降低了由于远距离造成的延时加载
3.与缓存相关的消息头
1.Cache-Control消息头
作用:从服务器将文档传到客户端之时起,此文档处于新鲜的秒数。
语法:Cache-Control:max-age=处于新鲜的秒数
ex:Cache-Control--->max-age=3600;
2.Expires消息头
作用:指定缓存过期的确切时间(格林尼治时间)
语法:Expires ---Thu,30 Aug 2018 05:08:30
4.在网页中设置缓存消息头
<meta http-equiv="消息头" content="值">
ex:
<meta http-equiv="Cache-Control" Content="max-age=3600">
三.网站优化
1.Cookie
利用Cookie来辨认使用者,以方便响应当前使用者需要的内容。
2.HTTP优化
1.HTTP性能优化
发起请求-->建立连接-->处理请求-->构建响应--发送响应-->记录日志
2.HTTP连接性能优化
1.减少连接创建次数---使用Keep-alive
2.减少请求次数---合理设置缓存
3.提高服务器端运行速度
4.尽量减少响应数据的长度---启用压缩
3.安全HTTP协议
HTTPS协议:安全版本的HTTP协议。
安全协议如何工作的?
客户端发送请求消息,在SSL层加密,服务器接收到密文,在SSL层解密,得到请求明文,对请求进行处理(SSL:为数据通讯提供安全支出)。
服务器发送响应消息时,在SSL层加密,客户端接收到密文,在SSL进行解密,得到响应明文,解析响应内容。