cookie和session、web服务工作原理、Apache配置php扩展、php简介

cookie和session:

cookie和session区别:cookie数据是存在本地的,而session数据是存在服务端的,session比cookie更安全。

cookie:用于http做会话时记住客户端所做的事,这里可以解决首次登陆页面广告等问题。 服务端与客户端在做开发的时候是无状态:意思是服务端与客户端交互后两个互不认识。其使用如:

	//在php中设置cookie和session:                                                                 //1.设置响应头中的Set-Cookie可以发标识给客户端,header('Set-Cookie: 键=值'),设置相同的键时会覆盖,例如:header('Set-Cookie: notice = password');header('Set-Cookie: notice1 = password1');//2.在php中有专门设置cookie的函数,可传入多个参数:第三个参数是过期时间戳,不传第三个参数默认是会话级别session(关闭浏览器就会自动删除)。setcookie('键');--------只传一个参数是删除setcookie('key','value'time()+1*24*60*60);-------这里的时间不能是当前时间,因为时间一直是在更新,所以时间要给长一点,否则cookie立刻会被删除。第四个参数path是设置作用路径范围:setcookie('key','value'time()+1*24*60*60,'/demo');-----www.happy.com/images/1.jpg   www.happy.com/demo/index.html,表示在这样的域名下,访问/demo下的地址有cookie,访问/demo上一级及同级别路径没有cookie。第五个参数domain设置cookie的作用域名范围:------如果设置domain为:day-01.io,day-01.io那么在www.day-01.io这个域名下是可以访问,在www.day-02.io这个域名下是不可以被访问。setcookie('key','value'time()+1*24*60*60,'/demo','day-01.io');第六个参数secure是设置只有https才可以使用,值为布尔值:setcookie('key','value'time()+1*24*60*60,'/demo','day-01.io',false);第七个参数httponly是设置只有服务端才可以操作cookie,JS不可以操作cookie 值为布尔值:setcookie('key','value'time()+1*24*60*60,'/demo','day-01.io',false true);3.在php中取cookie:$_COOKIE,得到的是一个关联数据var_dump($_COOKIE);4.JavaScript操作cookie:获取:document.cookie设置:document.coolie='js=fuck',不是覆盖性复制,这里是增量设置。JS操作cookie这里有专门的扩展插件将js-cookie:https://github.com/js-cookie5.cookie有安全隐患,这里一般使用session['key']='value';在php中操作session有性能损耗,所以需要开启session:配置文件开启或者代码开启:session_start();设置session:$_SESSION['key']='value';获取session:$_SESSION;//关闭广告原理:在设置和获取session或cookie完成的情况下,利用判断某session或cookie的值是否存在来控制页面某部分显示或隐藏,如://广告页面:<?php if(empty($_COOKIE['hide_adv'])||$_COOKIE['hide_adv']!=='1'): ?><div class='adv'><a href="index.php?action=close_adv" class='aa'>不再显示</a></div><?php endif ?>//关闭广告处理:<?phpif(isset($_GET['action'])&&$_GET['action']==='close_adv'){setcookie('hide_adv','1');$_COOKIE['hide_adv']==='1';};?>

动态网页的产生:

至此,我们可以把静态网页放到服务器上,客户端通过域名请求这个网站,但是对于我们来说,Apache完成的事情过于简单,无外乎就是请求对应的文件—读取文件----将文件内容响应给客户端浏览器(文件原封不动的给用户,无法满足让网页的内容动起来,随着数据的动态变化的需求)。于是有人提出了 服务端动态网页的概念 ,能够实现这种概念的技术有好多种: JSP ASP.NET PHP Node等等。这些技术的原理就是,不在将html固定写死,每次用户请求时,动态执行一次代码,临时生成一个客户端想要的HTML页面。

web服务器工作流程:

1.根据请求的URL对应的文件类型判断是否为静态文件

2.如果请求的是一个静态文件,直接读取这个文件的内容,将文件内容返回给客户端

3.如果请求的不是一个静态文件,读取文件代码,执行这段代码(交给其他程序执行,如php),将执行结果得到的字符串返回给客户端。

给Apache配置php扩展:

由于Apache不能处理动态网页,因此需要借助php来完成动态网页的开发,那么怎么将php和Apache联系到一起呢?具体流程如下:

1.首先需要在Apache的配置文件httpd.conf文件中自定义写入php在Apache中的模块配置指令:loadModule 自定义名字_module C:/php安装的路径/php7apache2_4.dall,如:LoadModule php7_module C:/F/php/php7apache2_4.dll2.继续在Apache中添加此指令:AddType application/x-httpd-php .php 来指定php的媒体类型,这个模块不是根据后缀判断是否该php工作,而是根据MIME Type判断是否为php工作3.配置好上面Apache配置文件后,到php官方网站:https://www.php.net/downloads下载php压缩包后,将php压缩包解压到某个目录即可,注意和上面httpd.conf配置中路径保持一致;注意:某些服务端是支持php的,无需下载php安装包,直接使用即可。提示:对于初学者或不想配置环境的开发者,可以使用集成环境傻瓜式安装即可,其详情阅读官方文档。

Apache与php:

对于很多初学者来说,很容易把Apache和php混在一起,其实他们两者各自有自己的负责领域,各自的职责,但是我们在使用php做动态网页时两者都会发生关系:

客户端请求—Apache判断是否为静态网页,若是,自己处理,读取文件,将结果响应给客户端;否则交给php读取php文件中的代码并执行代码,将执行的代码返回给Apache,Apache执行后呈现给客户端。

php介绍:

经过上面简单的介绍,对php有了初步的认识,如果想要学好php,那么还得继续参考官方文档学习相关API,详细参考文档:http://php.net/manual/zh/index.php

php的价值:通过执行php代码获取某些指定的数据,填充到html的指定的位置

php(PHP:Hyper Preprocessor)是一种广泛应用的脚本语言,他可以被嵌入到html中,尤其适合做动态网站开发,php中的特点和其他脚本语音类似,都有:变量,函数,循环,等等。语法不同,但是在概念上是基本一致的。我们使用php的主要作用就是能写出动态网页,动态的核心就是让HTML不再写死,而是通过在html中嵌入一段可以在服务端执行的代码,从而达到动态的目的。

php中常用于测试结果的输出指令:echo可以打印多个参数、print只能打印一个参数、var_dump()输出数据类型及数据;

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575349.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分享MYSQL中的各种高可用技术(源自姜承尧大牛)

图片和资料来源于MYSQL大牛姜承尧老师&#xff08;MYSQL技术内幕作者&#xff09; 姜承尧&#xff1a; 网易杭州研究院 技术经理 主导INNOSQL的开发 mysql高可用各个技术的比较 数据库的可靠指的是数据可靠 数据库可用指的是数据库服务可用 可靠的是数据&#xff1a;例如工商银…

php中数据类型、数组排序、循环语句、混编、操作本地文件流程、常用API、函数、魔术常量

php中数据类型&#xff1a; php中有7种数据类型&#xff0c;分别是&#xff1a; //1.String字符串&#xff0c;用引号包裹的字符&#xff0c;如&#xff1a;$str hello word;//2.Integer整型&#xff0c;可以是正数或负数&#xff0c;有十进制、十六进制、八进制&#xff0c;…

J2ME游戏中的图片处理

图片资源乃是游戏的外衣&#xff0c;直接影响一个游戏是否看上去很美。在J2ME游戏开发中&#xff0c;由于受到容量和内存的两重限制&#xff0c;图片使用受到极大的限制。在这种环境中&#xff0c;处理好图片的使用问题就显得更加重要。 本文从容量和内存两个方面谈谈J2ME游戏图…

php中命名空间、面向对象、访问控制、接口

命名空间&#xff1a; php中命名空间&#xff1a;解决自己编写的代码和php内置及第三方的函数、常量、类命名冲突问题(在不同的命名空间可以定义相同名称的常量、类、函数)&#xff1b;及为繁琐的命名创建一个别名&#xff0c;具体如下&#xff1a; //1.简单定义命名空间&…

经典的十个机器学习算法

1、C4.5 机器学习中&#xff0c;决策树是一个预测模型&#xff1b;他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象&#xff0c;而每个分叉路径则代表的某个可能的 属性值&#xff0c;而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的…

JSON数据、字符串拼接、宽字符处理、数组、Notice警告、isset和empty、变量、作用域、常量、include和require

JSON数据&#xff1a; 字面量是代码中表述数据的手段&#xff0c;JSON是一门类似于js字面量表述数据的手段&#xff0c;JSON是现在市面上用的最广的数据表述手段。 1.JSON对象中属性名称必须用双引号引起来 2.JSON中字符串必须用双引号引起来 3.JSON中不允许使用注释 4.JS…

表单及数据提交、表单的作用、服务端接收提交的数据、php处理数据流程、文件域及文件域中数据处理、php展示数据(响应)

表单及数据提交&#xff1a; 表单的作用&#xff1a; 用于收集相关信息&#xff1b;html中有专门提交数据的标签&#xff0c;可以很容易的收集用户输入的信息&#xff0c;这个标签有两个重要的属性&#xff1a;action表单提交的地址和method以什么方式提交表单&#xff0c;通…

数据库、MySQL介绍及安装流程、SQL语句中增删改查、SQL注入、通过php操作数据库,plugin ‘caching_sha2_password加密规则,分表查询

MySQL数据库&#xff1a; 数据库&#xff1a; 存放数据的仓库&#xff0c;用来按照特定的结构去组织和管理我们的数据&#xff0c;有数据库就可以更加方便的储存数据&#xff1b; 数据库只是存储数据的一种手段&#xff0c;最终数据是存放在硬盘中的&#xff0c;只是存放的格…

可能 delphi7 下稳定的最后一版本 GDIPLUS

可能 delphi7 下稳定的最后一版本 GDIPLUS 可能 delphi7 下稳定的最后一版本 GDIPLUS万一的 blog 说"终于, Delphi XE2 携带 GDI 库了使用了较早的 http://www.progdigy.com"但这个网址已经下不了了,而 http://www.bilsen.com/gdiplus 的又要 delphi2009 以后版本,另…

ajax背景、ajax对象、ajax状态、ajax与http、ajax请求数据接口、同步与异步、ajax请求XML数据、封装ajax函数、artTemplate简介、同源策略和跨域请求、JSONP

AJAX简介&#xff1a; ajax背景&#xff1a; 1.AJAX(Asynchronous JavaScript And Xml)异步的 JavaScript 和 XML:ajax是浏览器提供的一套API&#xff0c;最早出现在谷歌浏览器&#xff0c;是在浏览器端进行网络编程(发送请求、接收响应)的技术方案。它可以使我们通过JavaScr…

我的第一个项目(人力资源管理之报表管理)

2014年暑期实习老师要求的是人力资源管理系统&#xff0c;组队后组长分配给的任务是报表管理。 我做的报表管理&#xff0c;主要的功能是用户输入查询的时间区间和查询部门&#xff0c;然后将数据据库返回的数据显示在浏览器上。用户可以选择是否生成excel表格&#xff08;表格…

jQuery中的ajax、jquery中ajax全局事件、load实现页面无刷新局部加载、ajax跨域请求jsonp、利用formData对象向服务端异步发送二进制数据,表单序列化(异步获取表单内容)

jQuery中使用ajax&#xff1a; 在jQuery中使用ajax首先需要引入jQuery包&#xff0c;其引入方式可以采用网络资源&#xff0c;也可以下载包到项目文件中&#xff0c;这里推荐下载包到文件中&#xff1b;市面上有多个版本的jQuery库&#xff0c;这里到官网&#xff1a;https://…

chartjs和echartsjs库简介

chart.js和echarts.js: 尽管我们已经掌握了canvas绘图和SVG矢量图&#xff0c;在实际开发中我们依旧不会使用canvas和SVG&#xff0c;因为考虑到开发成本&#xff0c;一般会采用相关的图表库进行辅助开发&#xff0c;市面上常用的图表库有chart.js和echarts.js&#xff1b;如果…

弱智的我

【你能看到多少个人头? 】 0—4张: 弱智; 5—8张: 一般人; 9—11张: 特别感性; 11—13张: 精神分裂. 晕倒, 我是弱智的...就看到一个人头...转载于:https://www.cnblogs.com/zhangzujin/p/3877222.html

POJ 1201

d[i]表示在[0,i]这个区间内一共选了d[i]个数 对于每个为[ai,bi]的区间&#xff0c;你必须在这个区间上至少取ci个不同的整数&#xff0c;用d[i]如何表示&#xff1f; d[ bi ]-d[ ai-1 ] > ci Edge:(ai-1 -> bi) val ci 另外&#xff1a; 0<d[i]-d[i-1]<1 对应边Ed…

typecho和wordpress模板了解、开发流程介绍、前台后台前端后端区分

网站模板搭建网站&#xff1a; 使用网站模板搭建网站很简单&#xff0c;只需要将相关文件放到你自己的服务器上面&#xff0c;之后在进行相关的配置即可。这里给大家介绍两款网站模板&#xff1a; typecho&#xff1a; 是一个轻量高效&#xff0c;简单操作就能搭建网站的模板…

*[topcoder]IncrementingSequence

http://community.topcoder.com/stat?cproblem_statement&pm12107 此题想了半天&#xff0c;当时瞥到了Greedy&#xff0c;所以就想着贪心&#xff0c;最后的方法又纸上画了一下应该是对的。就是排序后依次看是不是满足要求。证明就是如果对数字X&#xff0c;有a和b都能够…

在浏览器端调试代码并直接修改原文件、移动端虚拟键盘中实现搜索按钮

在浏览器端调试代码并直接修改原文件&#xff1a; 此调试方法可以避免在浏览器调试完代码后在到原文件手动修改代码的弊端&#xff0c;其具体方法如下&#xff1a; 1.先将要调试的页面在浏览器&#xff08;Google&#xff09;打开&#xff0c;这里小编打开桌面test文件夹中的…

Bootstrap简介、下载bootstrap及引入文件说明、响应式容器和满屏容器、栅格系统

Bootstrap简介&#xff1a; Bootstrap是Twitter&#xff08;推特&#xff09;开发的&#xff0c;目前最受欢迎的前端开源框架&#xff0c;基于jQuery用于开发HTML、CSS、JavaScript&#xff0c;简洁灵活&#xff0c;常用于开发响应式布局及移动端开发。其中文官方文档&#xf…

JavaScript和jQuery的学习

还有12天就要回学校了&#xff0c;我的假期计划还能实现吗&#xff1f;在这12天里&#xff0c;需要把JavaScript和jQuery学完。我知道这两个技术对于前端网页开发非常重要。前期把HTML和CSS学完了&#xff0c;学的不是特别深&#xff0c;只是简单的过一下&#xff0c;自认为HTM…