day36(http协议 服务器软件的使用 PHP的简单了解 前后端交互 ajax 同步和异步)
一.http协议
1.http
1)前后端交互:前端发数据给后端,后端获取前端数据,经过解析,返回需要的数据
2)数据如何交互?请求+响应
3)概念:http(超文本传输协议)是一个基于请求与响应的应用层协议。
2.请求
1)请求的语法规则:(url请求资源的地址):http://host[":"port][abs_path]
a)照抄:http://
b)host:主机名或者ip地址(ip:计算机网络中该台计算机的唯一识别符(像人的身份证))
c):port:端口号,电脑上某个软件的端口
d)[abs_path]:路径
↓↓↓↓↓
http://ip + 端口 + 文件路径
2)请求方式:
a)get请求:将请求数据作为url一部分发送,不安全,传输数据量小,方便易用。
b)post请求:传输数据量大,安全,一般做表单提交。
3.响应
状态码
1) 200 OK,代表客户端请求成功
2) 404 Not Found,代表请求资源不存在,输入了错误的URL
二.服务器软件的使用(apache,如何访问,注意,环形地址)
1. apache:web服务器,靠它才能实现其他外网用户,访问到本机的服务器www文件
2. 如何访问apache服务器上的文件:
1) apache的端口号是80,而80是默认端口号,所以可以不用写
2) ip+:80+文件路径
3. 注意:ip等价于www路径(包含www路径之前的所有文件路径),D:\Code\phpStudy\WWW == ip
4. 环形地址:两个代表本机ip的特殊标识(只能在本机测试时使用)
1) 127.0.0.1
2) localhost
三.php简单了解
1.概念
1) 三种注释方式:#+代码、//+代码、/*代码*/
2) 在没有参与ajax时,echo的作用可以理解为document.write,将数据打印至大白板,且带有html解析
3) 字符串的拼接使用符号:.(不是+号)
4) 所有变量带$(具体数值不需要)($标识符 = 数值;)
2.代码解析
<?php
header("Content-type:text/html;charset=utf-8");--------------让php识别中文
# echo "hello world";---------------------三种注释方式
// echo "<br>";
/*
echo "老王";
*/
echo "hello" . "world";----------------字符串的拼接使用符号:.(不是+号)
$name = "老王";-------------------所有变量带$(具体数值不需要)($标识符 = 数值;)
echo $name;
$name = "小明";
echo $name;
1)分支选择
$a = 1123;
$b = 456;
$c;
if($a>$b){
$c = $a;
}else{
$c = $b;
}
echo $c;
2)数组和循环
$arr = [1,2,3,4,5];
for($i=0; $i<count($arr); $i++){
echo $arr[$i];
}
3)函数
function fun($a,$b){
return $a+$b;
}
echo fun(2,3);
?>
四.前后端交互
1.概念
1) action:提交服务器的文件地址
2) method:数据提交的方式,默认不写是get
3) get:效率高,安全性低,携带数据量少,将请求参数携带在url:url?key1=value1&key2=value2...
4) post:效率低,安全性高,携带数据量多,将请求参数隐藏在请求头
5) name:前后端传递参数的约定
2.代码解析
三种获取方式:
1.get: $_GET["name名"]
2.post: $_POST["name名"]
3.$_REQUEST["name名"]:get和post都支持
html:
<form action="4.login.php" method="get">
姓名: <input type="text" name="userName"><br><br>
密码: <input type="text" name="userPwd"><br><br>
<input type="submit" value="提交">
</form>
php:
<?php
header("Content-type:text/html;charset=utf-8");
写法1:
$name = $_GET["userName"];
$pwd = $_GET["userPwd"];
或
写法2:
$name = $_POST["userName"];
$pwd = $_POST["userPwd"];
或
写法3:
$name = $_REQUEST["userName"];
$pwd = $_REQUEST["userPwd"];
echo $name . " " . $pwd;
?>
五.ajax
1.产生背景,概念
1) 产生背景
1> 前提:网页发请求和接响应,必须伴随着页面全部刷新(以前)
2> 基于什么需求:只需要网页的局部更新
2) 概念
1> AJAX(Asynchronous JavaScript And XML),(异步 JavaScript 和 XML),中文名:阿贾克斯。是指一种创建异步交互式网页应用的网页开发技术。
2> AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术(实现网页异步更新)
2.优势(使用原因)
为什么要使用AJAX
1) 更自然、流畅的用户体验,对用户的操作即时响应
2) 在不中断用户操作的情况下与Web服务器进行通信
3) 更灵敏的响应用户访问,实现近似于桌面应用程序的交互效果
4) 通过局部更新页面降低网络流量,提高网络的使用效率
六.同步和异步
1. 同步:按照代码顺序一步一步执行,前一行代码没有执行完,后一行代码就等着
2. 同步和异步代码的区别:代码执行时,是否消耗等待时间 (不是运行时间)
发请求和接响应就要消耗等待时间(所有代码都要消耗运行时间),只有同步代码的执行顺序遵循自上而下
3. 异步:除了代码执行时需要运行时间,还需要消耗等待时间(遇到了需要消耗等待时间的异步代码,则先执行后续的代码,等消耗时间结束,再回来执行异步代码)
4. 注意事项:当同步代码与异步代码同时存在时,先执行同步,再执行异步(就算异步代码没有延迟时间)
5. 异步代码的分类:
1) 定时器的回调函数
2) 事件体
3) 发请求和接响应