传智播客PHP笔记02http协议,cookie,session

1、http协议

http请求分三部分
1、请求头
get:
uri:请求的文件名
协议级版本号:
2、报头
host:主机名
connect:保持连接
user-agent:浏览器的相关信息,自动携带给服务器,放在$_server里
Accept:浏览器所能处理的数据的格式
Accept-Encoding:浏览器所支持的压缩格式
Accept-language:浏览器所支持的语言
if-modify-Since:缓冲信息

3响应头
响应行
协议及版本哈
状态码
状态秒速
常见的状态码
200
404
403:无权限

响应报头
date
server
last_modified:与客户端请求头中的last-modified-since对应text/thml
content-type:响应的数据是什么格式,默认多是text/html,

2、http操作响应头

1、设置浏览器的显示编码

header(“content-type:text/html; charset=utf-8”)

2、用于跳转

header(网址)

3、下载

header(“content-disposition:attachmentlfilename=xxxx”)

在这里插入图片描述

3、数据采集

1、curl()函数,是一个代码版的浏览器,允许我们在代码中浏览别人的网站。
开启curl()支持需要再php.ini中打开

extension=curl

如果还不能打开,建议参考网络资源

4、curl基本步骤
  • 1、初始化curl(打开一个浏览器)
curl_init();

初始化curl工具,返回一个资源类型

  • 2、设置curl选项(输入地址)
curl_setopt(curl,参数名,参数值

curl:curl_init的返回值
参数名:常量形式的参数名 CURLOPT_URL
参数值:具体的值

  • 3、执行curl(回车)
curl_exec(curl资源)

案例如下:

$mycurl=curl_init();
curl_setopt($mycurl,CURLOPT_URL, "http://www.baidu.com");
curl_exec($mycurl);
5、模拟get请求

CURLOPT_ETURNTRANSFER:取值如果是 1,表示不讲接收到的数据直接返回给浏览器,而是作为curl_exec()函数的返回值

$mycurl=curl_init();
curl_setopt($mycurl,CURLOPT_URL, "http://www.baidu.com");
curl_setopt($mycurl,CURLOPT_ETURNTRANSFER,1);
curl_exec($mycurl);
5、模拟post请求

CURLOP_POST 取值为1
CURLOPT_POSTFIELDS :用于设置post请求所携带的数据

$mycurl=curl_init();
curl_setopt($mycurl,CURLOPT_URL, "http://www.baidu.com");
curl_setopt($mycurl,CURLOPT_ETURNTRANSFER,1);
//设置POST请求方式
curl_setopt($mycurl,CURLOPT_POST,1);
//定义数据
$data=['n_title'=>'^_^','c_id'=>10,'n_sort'=>100];
//模拟提交数据
curl_setopt($mycurl,CURLOPT_POSTFIELDS,$data);
//执行curl
curl_exec($mycurl);

6、会话技术–cookie

回话技术使得服务器可以记录客户端的信息
cookie核心是关联数组,用来保持客户端信息

header('cookie:id=10');
header('set-cookie:id=40');
setcookie("name","zhangsan");
6、setcookie()设置cookie

格式见php手册
setcookie(“name”,值,有效时间,路径,域)
name:cookie名
value:cookie值

7、读取cookie
  • 1、$_COOKIE,

$_COOKIE是一个关联数组,主要用于存储客户端通过cookie保存的数据

print_r($_COOKIE);
``
get
post
request
cookie

```php
print_r($_COOKIE);
  • 2、cookie的有效时间

expire:从1970年的时间点开始的,时间以秒记录,有效期的起点是时间原点。如果省略表示回话cookie,有效期到浏览器关闭

setcookie("address","beijing",time()+3600)
  • 3、cookie的路径
    “/”:整站有效

cookie也有自己的路径,默认不设置路径,则默认为php文件的路径,如果需要更改,则使用第四个参数path

  • 4、cookie的域(名)
    cookie实现的跨域,只能是二级域名的跨域

  • 5、secure
    取值为true或false
    ture:客户端协议是https是,才将cookie携带给服务器

  • 6、httpony
    取值为ture户false
    ture:只能有php访问cookie,js不能

8、删除cookie

将cookie的有效期设置为过期(负值),或者将cookie的值设置为kong‘’;

9、session技术

session也是会话的一种,seession主要保存在服务器端

10、session_start()开启session

seession对应$_SESSION

session_start():开启session
11、设置session

操作session就是向$_SSESION这个变量读写数据(读写数组)

$_SSESION["balance"]=1000;

操作session实际是就是操作$_SESSION和session文件之间的交互过程
首次访问:
请求时,服务器在硬盘中创建一个唯一文件,将文件名以cookie的形式传给客户端,在php脚本执行结束时,将内存中的 $_SESSION写入到session文件中
其后各次:
请求时,服务器会收到客户端的cookie中保存的session文件名,同时会在服务器找到对应的session文件,并将其读到 $_SESSION中。
脚本结束后,再将 $_SESSION写入大文件中去

12、通过session_id()读取session

session_id():用户获取当前session的id值

session_start();
echo session_id();
13、session的数据

session可以存储任何数据,但其下标必须是字符串,因为其是数组,是关联数组,而不是数字

14、销毁session

session_destory():销毁session数据文件

session_start();
session_destory():
15、unset()删除session的一部分数据,

相当于删除数组中的一个元素

session_start();
$_SESSION["name"]="zhangsan";
unset($_SESSION[下标]
16、session分目录存储,

在php.ini文件中设置,略

17、session垃圾回收机制

session也可以设置有效期,同样在php.ini文件中设置,略

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值