PHP04

1、HTTP(hypertext transfer protocol)

1)HTTP是端与端之间的通讯协议

chrome://net-internals/

可查看DNS缓存

浏览器-检查-Network-all-header-Request headers view source

以查看请求报文包 头

Response header view source

返回响应报文包头



2)HTTP



https的固定端口为443

响应状态:

200 OK 服务器成功处理了请求

301 重定向,请求的URL已移走

304未修改,客户的缓存资源是最新的,要客户端使用缓存

403禁止,请求被服务器拒绝了

404未找到资源

500内部服务器错误,服务器遇到一个错误,使其无法为请求提供服务

3)报文

①请求报文

在输入地址敲回车后,浏览器自动封装了请求报文





②响应报文





服务端返回给客户端的文件,一般默认为html格式,也可以是js或css等,需要修改响应头的格式。

PHP中的heade函数专门用于设置响应头的内容:

在php中设置css文件类型,使其在被html引用后返回css的作用

<?php
header('Content-Type:text/css');
?>
body{
background-color: pink; }

返回的文件的字符编码形式应该和响应头内声明的一样。也可以设置:



案例:网站重定向



不要循环重定向,参数内不能有空格。

当浏览器无法解析某一文件名时,将直接下载

3、数据表述手段

1)JSON不是字面量

字面量是数据的一种表述手段

JSON是一种类似于js的字面量的手段

2)JSON

JSON是一种通过普通字符串描述数据的手段,用于表示有结构的数据

数据类型有:null,string,number ,boolean,object,array

JSON中属性名称必须用双引号引起来,

比如:“name”:’‘cc’’

JSON中字符串也必须用双引号包起来

JSON中不允许出现注释

JSON中没有undefined这个值

JSON也有很多函数可供调用

JSON字符串是一系列由[]包起来的对象,如

[
{"name":"cc","age":18},
{"name":"aa","age":15},
{"name":"ww","age":38},
{"name":"yc","age":11},
{"name":"bc","age":14},
]

JSON.parse(JSON字符串);将相应的JSON转换为数组。

JSON.stringify(数组);将相应的数组转换为字符串。

json_decode(JSON字符串);解码(反序列化)JSON字符串,默认返回对象数组stdClass,若有第二个参数为true,返回数组数组

json_encode(数组);编码数组

案例:音乐列表

在php中,对于对象数组(在浏览器中输出,内部出现Object字样),要用

对象数组名->属性名

进行访问

而对于数组数组(在浏览器中输出,内部出现Array字样),要用

对象数组名[‘属性’]

进行访问



uniqid();方法,生成一个独一无二的id

form标签属性:autocomplete=“off”,取消记忆填充

文件域有一个accept属性,可限制上传文件类型,值是MIME TYPE.如img/* ,通配所有事图片的文件格式

判断文件大小:



in_array(数组名,元素)

返回布尔值,判断元素是否存在于数组中

PHP04的更多相关文章

  1. PHP04 HTTP协议入门(转)

    HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点. 本文介绍 HTTP 协议的历史演变和设计思路. 一.HTTP/0.9 HTTP 是基于 TCP ...

  2. PHP细节,empty,is_null,isset,if()

    以下内容转载自http://wuxinjie.github.io/php-04/ 从下表可知,empty与if()完全相反,is_null与isset完全相反 isset是语句,is_null是函数, ...

  3. sudo实例--企业生产环境用户权限集中管理方案实例

    根据角色的不同,给不同的用户分配不同的角色1.创建初级工程师3个,网络工程师1个,中级工程师1个,经理1个      #  批量创建用户 for user in chuji{01..03} net01 ...

  4. Linux 基础学习大考核

    0.关于Linux的简介 Linux(好又免费)的组成部分: Linux 是一种计算机操作系统: 一系列能让您与计算机进行交互操作并运行其它程序的程序. 操作系统由多种基础程序构成.它们使计算机可以与 ...

随机推荐

  1. alpha冲刺4/10

    目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:冲刺4 团队部分 后敬甲 过去两天完成了哪些任务 文字描述 主页部分图标的替换 -拍照按钮的设计和测试 GitHub代码 ...

  2. java的局部变量和成员变量以及区别

    一.局部变量 存在某个方法中的变量就叫局部变量,局部变量一旦声明就必须赋值 否则不能使用 代码如下: class Person { String name; char sex; int age; pu ...

  3. 基于AspNet Core2.0 开发框架,包含简单的个人博客Demo

    大家好,最近离职了,利用闲暇时间就捣鼓了一个基于AspNet Core开发框架,分享出来希望能给AspNet Core学者带来一些帮助,同时也能跟大家一起学习.当然了,由于我的个人技术及经验的有限,框 ...

  4. 2016-06-19 exshop第5天

    昨天对grails3和spring-security进行了全面的调研并进行了试验,试用下来发现grails3的启动速度.代码修改后刷新速度.内存占用以及架构的设计上更加合理,asset-pipelin ...

  5. python全栈开发day85-查:数据表 数据头 增加列 展示多对多字段 反向解析编辑和删除按钮的url

    直接上代码: # spark/service/sites.py from django.conf.urls import url from django.shortcuts import HttpRe ...

  6. spark操作Kudu之写 - 使用DataFrame API

    在通过DataFrame API编写时,目前只支持一种模式“append”.尚未实现的“覆盖”模式 import org.apache.kudu.spark.kudu._ import org.apa ...

  7. sql 把一个用逗号分隔的多个数据字符串变成一个表的一列

    USE [tms]GO/****** Object: UserDefinedFunction [dbo].[StrToTable] Script Date: 2017/4/26 9:06:20 *** ...

  8. Mysql数据库报错:Cannot add or update a child row: a foreign key constraint fails(添加多对多关系)

    #创建班级表 class Classes(models.Model): title = models.CharField(max_length=32) n=models.ManyToManyField ...

  9. JS的异步世界

    前言 JS的异步由来已久,各种异步概念也早早堆在开发者面前.可现实代码中,仍然充斥了各种因异步顺序处理不当的bug,或因不好好思考,或因不了解真相.今天,就特来再次好好探索一番JS的异步世界. 01 ...

  10. hadoop离线计算项目上线配置问题记录

    最近上线一个hadoop离线处理项目,因为在低配置(8G,4核)的时候装的CDH,后来集群配置(64G,16核)上来了,但许多参数不会自动修改,需要自己调整,处理过程中遇到的配置问题记录下. 1.hi ...