01HTTP服务&AJAX编程
HTTP服务&AJAX编程
一、服务器
1. 什么是服务器?
能够提供某种服务的机器(计算机)称为服务器。
2.服务器的分类:
2.按应用软件:appache IIS tomcat
3.按使用场景:web(http)服务器 数据库服务器 邮件服务器
二、网络基础
1.IP地址
查看本机IP地址 ping、ipconfig、ifconfig
2.域名
域名:IP的面具,为了让用户更容易找到网站
查看域名对应的IP地址 ping
3.DNS服务
DNS服务器:将域名返回给浏览器(其中存储域名-IP信息)
查找优先级 本机hosts文件、DNS服务器
ipconfig /flushdns
4.端口
查看端口占用情况 netstat -an
常见端口号 80、8080、3306、21、22
三、C/S和B/S
1.CS:client(客户端)/server(服务器)
缺点:使用对应的功能,必须下载对应的客户端
如果服务更新了,客户端一般也需要更新
2.BS:B(browser)/server(服务器)
缺点:性能不太好,运算性能不好
效果不够酷炫
四、搭建HTTP服务
Windows + Apache + Mysql + PHP,首字母组合。
1. 安装WampServer
安装wampserver,和普通软件安装无差别,除指定安装路径外,其它默认安装。
2.管理HTTP服务
任务图标绿色为正常启动状态
注意事项:
1、检查网络是不是通的 ping 对方IP
2、检查防火墙是否开启,如果开启将不能正常被访问
3、检查访问权限 Allow from all
4、理解默认索引
5、确保端口没有被其它程序占用
6、“#”表示注释
7、修改配置要格外小心,禁止无意修改其它内容
PHP基础
写法:文件以.php后缀结尾,所有程序包含在<?php /** 这里是代码 **/ ?>
避免使用中文目录和中文文件名
五、 变量
1、变量以$开头 字母/数字/下划线 不能以数字开头
2、大小写敏感(区分大小写)
六、数据类型
字符型、整型、浮点型、布尔型、数组、对象、NULL
单引号&双引号区别
索引数组、关联数组(了解即可)
echo只能打印出来简单类型的值,null和布尔值false都会做隐式转换。
1. 内容输出
echo:输出简单数据类型,如字符串、数值
print_r():输出复杂数据类型,如数组
var_dump():输出详细信息,如对象、数组(了解)
七、运算符
基本与Javascript语法一致
. 号表示字符串拼接符,Javascript中为+号
八、 函数
与Javascript基本一致
函数名对大小写不敏感
默认参数(了解即可)
<?php
//php中的函数
// js方法
// function sayHi(){
// console.log("sayHi");
// }
// sayHi();
function sayHi($name='zhangsan'){
echo "Hello ".$name;
}
// sayHi('world!!'); 有参数且传参
// sayHi(); 有参数不传参 解决:定义参数的时候,给参数一个默认值 当不传 默认值 传就是当前传的值
sayHi('lisi');
?>
九、分支、循环语句
与Javascript基本一致
foreach()
<?php
// php中的分支语句
// 判断语句 switch
// js if(条件){}else{}
// js switch(条件){ case 选项: 执行的语句; break; default: 执行的语句;break;}
$married=false;
$name="gaoyuanyaun";
if($married){
echo "那我就重新找其他明星吧";
}else{
echo $name." 嫁给我吧!!";
}
echo "<br>-----------------------<br>";
$today="周二";
switch($today){
case"周二":
echo "周二激情四射";
break;
case"周三":
echo "周三还是激情";
break;
default:
echo "我们来睡个觉吧!!";
break;
}
?>
十、数组、遍历数组
<?php
// js数组 var arr=new Array(); var arr=[1,2,4];
// 定义php数组
$arr=array(1,2,"gaoyuanyuan",3.1415926,true);//索引数组
// 0 => int 1
// 1 => int 2
// 2 => string 'gaoyuanyuan' (length=11)
// 3 => float 3.1415926
// 4 => boolean true
// 打印输出PHP数组
echo $arr;
// 问题:打出索引值 结构 值的类型 长度
var_dump($arr);
// 遍历php数组
// js for
// for(var i=0;i<arr.length;i++){
// arr[i]
// }
// count(数组)方法 返回值是数组的长度
// $leng=$arr.length;
$leng=count($arr);
// echo $leng;
// php数组和js区别:数组没有length属性
// 错误写法
// for($i=0;$i<$arr.length;$i++){
// echo $arr[$i];
// }
// 正确的
for($i=0;$i<$leng;$i++){
echo $arr[$i].',';
}
echo "<br>-------------<br>";
// 在js中有一个数据类型 对象
// var obj={
// name:"zhangsan",
// age:18
// }
$arrguanlian=array('name'=>'zhangsan','age'=>18);//关联数组
// 遍历 foreach既可以遍历索引数组还可以遍历关联数组
// foreach(){}
// foreach(数组名 as $k=>$v){
// }
// 遍历关联数组
foreach($arrguanlian as $k=>$v){
echo $k.'-----'.$v;
echo "<br>-------------<br>";
}
// 遍历索引数组
foreach($arr as $k=>$v){
echo $k.'-----'.$v;
echo "<br>-------------<br>";
}
?>
十一、系统函数检查数组,常用的函数
count() 计算数组长度
array_key_exists ()检测数组中是否存在key
file_get_contents读取文件
<?php
$arr=array('name'=>'congcong','age'=>80);
// in_array(判断的值,数组) 是否在数组中 判断一个值是否在数组中 返回值是boolean true 或false
$flag=in_array(80,$arr);
echo $flag;
//array_key_exists()检测数组中是否存在一个键 返回值是boolean true 或false
$flag1=array_key_exists('name',$arr);
echo $flag1;
?>
十二、表单处理
表单name属性的是用来提供给服务端接收所传递数据而设置的
表单action属性设置接收数据的处理程序
表单method属性设置发送数据的方式
当上传文件是需要设置 enctype="multipart/form-data",且只能post方式
$_GET接收 get 传值
$_POST接收 post 传值
$_FILES接收文件上传
1.get方式
<!DOCTYPE html>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>Document</title>
</head>
<body>
<!--1.action 代表数据提交到什么地方 服务器php -->
<!--2.用什么样的方式提交 get post-->
<!--用户名密码都应该存在一个变量中
name属性的值是作为一个key来存储用户输入的信息的
-->
<formaction="form.php"method="get">
<inputtype="text"name="username"id="user">
<inputtype="password"name="password"id="pass">
<inputtype="submit"value="提交">
</form>
</body>
</html>
<!--get提交数据的特点:1.数据的格式 key=value&key1=value1&key2=value2....
2.数据内容会显示在地址栏中
3.地址栏中的数据是长度有限的 ie浏览器规定不超过1024
4.get是默认的方式
5.get提交方式不太安全
-->
<!--注意:用什么样的方式提交,就要用什么样的方式接受-->
<?php
//后台程序如何得到前端提交的数据
// $_GET用来接收前端提交过来的数据
var_dump($_GET);
?>
2.post方式
<!DOCTYPE html>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>Document</title>
</head>
<body>
<!--
1.在html里 定义数据提交给哪个应用程序
2.在html里 设置数据提交的方式
3.在html里 设置input的name属性
-->
<formaction="form-post.php"method="post">
<inputtype="text"name="username"id="user">
<inputtype="password"name="password"id="pass">
<inputtype="submit"value="提交">
</form>
</body>
</html>
<!--post方式的特点
1.提交数据不会显示到地址栏
2.数据提交格式是key=value&key1=value1&key2=value2....
3.数据可以无限大(理论上)
4.post提交方式相对安全
-->
<?php
// 1.接受前端传过来的数据
// 2.返回结果
var_dump($_POST);
?>
十三、HTML和PHP的混写方式
<?php
// html和php混合写
// index.html ->index.php
//注意 1.php嵌入html 需要写成php格式的文件
//2.php代码要写在<?php代码?>
//不必把所有的逻辑和数据写在同一标签中
$arr=array('www.baidu.com','www.jd.com','www.taobao.com')
?>
<!DOCTYPE html>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>Document</title>
</head>
<body>
<h1>hello</h1>
<?php
for($i=0;$i<count($arr);$i++){
// 把网址通过php代码输出成a链接
echo '<a href="'.$arr[$i].'">链接</a><br>';
}
?>
</body>
</html>
01HTTP服务&AJAX编程的更多相关文章
- http服务&ajax编程
http服务&ajax编程 1.服务器 前言:通俗的讲,能够提供某种服务的机器(计算机)称为服务器 1.1.服务器类型 按照不同的划分标准,服务可划分为以下类型: 按服务类型可分为:文件服务器 ...
- HTTP服务&Ajax编程知识点导图
- AJAX编程-封装ajax工具函数
即 Asynchronous [e'sɪŋkrənəs] Javascript And XML,AJAX 不是一门的新的语言,而是对现有技术的综合利用.本质是在HTTP协议的基础上以异步的方式与服务器 ...
- 【WCF--初入江湖】12 WCF与Ajax编程
12 WCF与Ajax编程 Ajax Ajax基本原理 AJAX技术的本质原理就是:使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信. 通过这个对象,JavaS ...
- Ajax编程(HTTP请求与响应及API)详解
AJAX编程 即 Asynchronous [e'sɪŋkrənəs] Javascript And XML, AJAX 不是一门的新的语言,而是对现有技术的综合利用. 本质是在HTTP协议的基础上以 ...
- Linux多线程服务端编程一些总结
能接触这本书是因为上一个项目是用c++开发基于Linux的消息服务器,公司没有使用第三方的网络库,卷起袖子就开撸了.个人因为从业经验较短,主 要负责的是业务方面的编码.本着兴趣自己找了这本书.拿到书就 ...
- 《Linux 多线程服务端编程:使用 muduo C++ 网络库》电子版上市
<Linux 多线程服务端编程:使用 muduo C++ 网络库> 电子版已在京东和亚马逊上市销售. 京东购买地址:http://e.jd.com/30149978.html 亚马逊Kin ...
- 《Linux多线程服务端编程:使用muduo C++网络库》上市半年重印两次,总印数达到了9000册
<Linux多线程服务端编程:使用muduo C++网络库>这本书自今年一月上市以来,半年之内已经重印两次(加上首印,一共是三次印刷),总印数达到了9000册,这在技术书里已经算是相当不错 ...
- Ajax编程中,经常要能动态的改变界面元素的样式
在Ajax编程中,经常要能动态的改变界面元素的样式,可以通过对象的style属性来改变,比如要改变背景色为红色,可以这样写:element.style.backgroundColor=”#ff0000 ...
随机推荐
- symfony2取得web目录绝对路径、相对路径、网址的函数是什么
对于你的需求,Symfony2通过DIC提供了kernel服务,以及request(请求)的封装. 在controller里(在其他地方你可以自行注入kernel,这个服务是HttpKernel库里的 ...
- net reactor加密源码保软件安全-net reactor使用教程
上一次介绍用 Xenocode Postbuild for .NET 混淆加密源代码确保软件安全,本篇将讨论用 Eziriz .NET Reactor 混淆加密软件源代码,为从未用过该软件加密的用户分 ...
- json在项目中的应用大总结
一.摘要 刚开始接触json的时候,那时候还不太清楚json到底是个什么东西,然后就在项目中使用了它.因为没有搞明白json的本质,所以刚开始使用json的时候走了不少弯路.这次总结一些json的知识 ...
- Troubleshooting a node by using the netapp SP
Troubleshooting a node by using the SP When you encounter a problem with a node, you can use the SP ...
- 黄聪:CamtasiaStudio如何导出视频上传优酷实现高清
- MVC4 +EasyUI Tabs 使用
Tabs 右键菜单功能实现 前端 <div id="tabs" class="easyui-tabs" fit="true" bord ...
- OAF_开发系列01_实现OAF资料主从关系Master-Detail联动(案例)
2014-06-02 Created By BaoXinjian
- 51nod 1237 最大公约数之和 V3
求∑1<=i<=n∑1<=j<=ngcd(i,j) % P P = 10^9 + 7 2 <= n <= 10^10 这道题,明显就是杜教筛 推一下公式: 利用∑d ...
- java安全沙箱(一)之ClassLoader双亲委派机制
java是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别是: 类加载体系 .class文件检验器 内置于Java虚拟机(及语言)的安全特性 安全管理器及J ...
- 自己写的基于bootstrap风格的弹框插件
自己写的一款基于bootstrap风格的弹框插件,暂时只有确认框.提示框.后续功能扩展.bug修改再更新. ;(function($){ //默认参数 var PARAMS; var DEFAULTP ...