HTTP是什么?
1. HTTP是一个超文本传输协议 ( HyperText Transfer Protocol ),是一个所有的web都要去遵守的这个标准.
**既然说到协议,那么什么叫做协议? **
协议是把一个或多个毫无意义的数字或字母,因为遵循这个协议,而变得有意义.
例如: 当客户端向服务器端发送了 1, 2, ,3 这个字符串, 服务器并不知道这个什么意思, 但是因为遵循了HTTP协议,在这个协议里面规定, 第一位代表库存,第二位代表价格,第三位代表需要进货的数量,那么就变成了, 库存=1 , 价格 = 2 , 需要进货数量 = 3 这么一个有意义的字符串.
2. HTTP是B/S模式的访问协议.
3. HTTP协议又分为HTTP请求协议和HTTP响应协议.
特点:
1. 断开式连接 : 当HTTP服务器处理完当前请求即会断开连接
2. 无状态性 : 服务器端不记录用户状态,即同一个客户端请求多次,服务器无法识别是否来自同一个客户端.
举例说明: 小明去医院看病,缴费看医生,医生给出意见.医生送走小明.(相当于客户端请求服务器,服务器响应返回数据,断开连接.),小明过了一段时间再来找医生,表示感谢,但是发现医生不认识自己是谁了.( 相当于第二次请求服务器,因为服务器不记录用户状态,所以无法识别是不是来自同一客户端的请求.)
HTTP报文
http报文分为两种,一个是请求报文和响应报文.
1.请求报文
请求报文的作用就是客户端告诉服务器一下自己的特性…
HTTP请求报文格式:
- GET请求没有请求主体 , POST提交的数据就是请求主体
请求行中包括请求方式(GET/POST) ,url地址 , 版本号 ( 都是1.1)
请求头的格式都是键值对:
2.响应报文
请求方式我就不写了,返回的样式给大家看一下把.
响应报文格式和请求报文格式一样,直接上图了.
注意一点的就是:响应主体是html. - 请求报文是浏览器决定的,不能改的,但是响应报文是服务器决定的,可以更改!
响应头更改
<?php
header(refesh:5;url=路由地址); // 5秒之后就会自动跳转
header('name:tom') //只要是键值对都可以写道响应头里面
响应头的应用 页面保存 ,文件下载 , 控制浏览器缓存等等.
以上是我对于HTTP的一些非常浅短的认知,如若发现错误,歧义,表达不清的地方,欢迎各位猿友多多指正.谢谢!