http: Hyper Text Transfer Protocol 超文本传输协议
* 超文本传输协议:它是基于tcp/ip的一种请求响应协议
协议就是一种规则,规定了请求和响应发送的消息数据格式
* 请求协议:
* 请求行: 请求方式 资源路径(uri) 协议名称/协议版本
GET /hello/hello.html?参数列表 HTTP/1.1
* 请求头:Content-Length:正文长度 Connection: 长久连接
*User-Agent:Mozilla/5.0 (Windows NT 6.1;Trident/7.0; rv:11.0) like
Gecko
* 表示浏览器的版本信息
* Referer:http://localhost/day07/login.html
* 表示告诉服务器端 我 从哪里来
* 做统计:投放广告后的统计。
* 防盗链:
* Cookie:带着服务器发送的cookie信息访问服务器
*Content-Type:application/x-www-form-urlencoded
* 表示表单提交的数据的编码类型
* 请求空行:一个空行 分隔请求头 和请求体
* 请求体(正文): get请求没有请求正文,post请求请求正文封装请求参数
* 请求消息:
POST /hello/hello.html HTTP/1.1
User-Agent:Mozilla/5.0(Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko
Referer:http://localhost/day07/login.html
Content-Type:application/x-www-form-urlencoded
username=zs
* get请求和post请求的区别:
1.get请求请求的参数在url后边
post请求请求参数在请求体中
2.get请求请参参数有大小限制
post请求请求参数无大小限制
3.get请求不安全
post请求稍微安全
*响应协议:
* 响应行:HTTP/1.1200 ok
* 响应状态码:
1XX:服务器接受到了客户端的请求,但是什么都不干
2XX:响应成功。 200
3XX:响应重定向。 302:重定向。 304 :访问缓存
4XX:客户端url错误。 404 没找到资源
5XX:服务器端出现错误。500
* 响应头:
* content-type:text/html;charset=utf-8
* 告诉浏览器,响应正文的mimatype类型和 编码表
* Expires: -1;
*cache-Control: no-cache;
* Pragma: no-cache;
* 禁止浏览器缓存
* refresh:3;url=http://www.baidu.com
自动跳转
* 可以使用html的meta标签设置响应头
* 响应空行:响应头和响应体之间的分隔
* 响应体(正文):
* 发送静态资源到客户端浏览器。浏览器解析静态资源显示相应的数据。