Http
http请求
分为请求部分和响应部分
1-请求部分
1-1 请求头
- 请求的地址
- 请求的方式
- 版本及协议号
1-2 请求报文
- host
- user_agent
- accept
- accept-encoding
- content-length
- if-modify-since
- cookie
- refer 此次请求来自己于哪个连接
- keep-alive 长连接
- connection
2-响应部分
2-1 状态行
- 协议及版本号
- 状态码
- 状态码的描述信息
2-2 响应报文
- data
- server
- modified
- content-type
- content-encoding
- content-length
3-状态码
3-1 状态码的分类
- 提示信息
- 成功
- 重定向
- 客户端错误
- 服务端错误
3-2 常见状态码及解释
200 成功
206 部分或范围请求
301在请求的连接被移除时使用
302 请求临时的链接使用
304 请求的资源无修改
307
400 告知客户端发送了错误请求
403 请求的资源无权限访问
404 请求的资源不存在
500 服务器遇到错误
502 代理或者网关错误
503无法为请求提供服务
504 代理或者网关超时
4-HTTP的特点
- 支持客户端、服务端模式
- 简单便捷,请求方式和文件
- 灵活 content-type
- 无连接 服务器在处理完客户端的一次请求就会断开连接
- 无状态
5-常见的请求方式
- get
- post
- put
- delete
- head 只从服务器获取文档的首部
- option 决定在服务器上执行哪些方法
- trace 对可能经过代理服务器传送到服务器上去的报文进行跟踪
6-get和post的区别
- post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中)
- post发送的数据更大(get有url长度限制)
- post能发送更多的数据类型(get只能发送ASCII字符)
7-cookie
7-1 为什么需要cookie
由于http是无连接、无状态的,所以对于客户端的信息无法保存,比如登录状态和购物车等
7-2 作用是什么
服务器的数据保存在客户端。本质就是达到识别客户端。
7-3 cookie的实现
header函数
<?php
header('set-cookie:name=zhangsan');
setcookie函数
setcookie('name','zhangsan');
7-4 读取
$_COOKIE预定变量,用于保存客户端发送过来的cookie数据
var_dump($_COOKIE[‘name’]);
7-5 有效期
Expire
位于客户端的cookie如果是会话级的cookie,浏览器关闭之后自动删除
如果设置了有效期,让有效期过期就可以
setcookie(‘name’,’zhangsan’,time()-1)
7-6 跨域
domain
将域设置成一样的就可以了
7-7 删除
过期
关闭浏览器
7-8 cookie的特性
服务器的数据保存在客户端
1:保存在客户端就不安全
2:只能保存文本信息
3:默认是不能存储数据的,可以用[],变相保存数据
8-session
8-1 session是什么
session是以cookie为基础,在服务器创建一个文本文件,将文本文件的文件名,以cookie形式保存在客户端。
8-2 如果cookie被客户端禁用,如何实现session机制
- 设置:
此设置说明,不再仅使用cookie保存session信息(session文件名)
-
设置使用a链接保存session信息(保存session文件名)
-
界面上应该具有a链接。
8-3 垃圾回收机制(GC)
默认,客户端保存session文件名的那个cookie的有效期,是浏览器关闭。但当浏览器关闭后,为此客户端创建的session文件并不会马上被删除。此文件或过期的session文件,会被php的垃圾回收机制删除。
8-4 手动session
- 开启session_start();
- 向session中写数据
- 读取session中的数据
- 销毁session
8-5 自动session
php.ini中开启自动session
8-6 特点
写入时候序列化,读取反序列化
存在服务器端,相对安全
cookie不能存数组,session可以,session本身就是一个关联数组
本作品采用《CC 协议》,转载必须注明作者和本文链接