美文网首页
1-wampserver安装/使用 get与post请求/区别

1-wampserver安装/使用 get与post请求/区别

作者: 前端雨 | 来源:发表于2017-12-19 21:02 被阅读0次

    wampserver的安装和使用

    • 简介

        W: Windows操作系统
        A: Apache 世界排名第一的服务器软件,特点是简单,速度快,性能稳定
        M: MySQL 开源免费的数据库软件,特点是体积小、速度快、使用成本低
        P: PHP 超文本预处理器,直接将代码嵌入HTML文档中执行, 特点是简单易学,容易上手
      
    • 安装

        1.双击提供的安装包
        2.点击Next
        3.选择安装路径(注意:路径中不要出现中文)
        4.勾选两个方框,点击next继续安装
        5.点击install开始安装
        6.安装完毕以后点击finish即可启动wamp
      
    • 调试

      • 测试访问

           打开浏览器输入127.0.0.1查看显示的内容
        
      • 修改默认的网站内容

          (1)找到D:\wamp\bin\apache\Apache2.2.21\conf\httpd.conf
          (2)打开httpd.conf查找DocumentRoot找到网站对应的目录
          (3)将网站放到d:/wamp/www/目录下
          (4)修改使用自己的index.html文件
        
      • 配置局域网访问

          (1)关闭电脑防火墙
          (2)修改httpd.conf文件Deny from all为Allow from all(192行),在httpd.conf文件234行下面添加Allow from all
          (3)重启WAMP
        
      • 修改默认端口号

          (1)在httpd.conf文件中搜索Listen , 改为你想要的数字即可
          (2)重启WAMP(注意每次修改配置文件都需要重启)
        

    get请求和post请求

    • get请求
      • get请求提交的数据可以在地址栏中看到
      • get请求的数据在PHP中可以通过$_GET["key"]的形式获取
      • 如果$_GET中没有key对应的值会报错
    • post请求
      • post请求提交的数据不会在地址栏中显示
      • post请求提交的数据在PHP中可以通过$_POST["key"]的形式获取
      • 如果$_POST中没有key对应的值会报错
    • 注意
      • get发送的请求数据不能通过$_POST获取

    get/post区别

    • 安全性
      • get请求 : 请求的参数直接拼接在URL后面发送给服务器,可以通过浏览记录来查看,另外如果黑客攻破了服务器拿到服务器的访问日志,那么所有的访问记录都会被暴露。
      • post请求 : 请求参数存放在请求体中传递,相对安全。
    • 大小限制
      • get请求

        • 因为"特定的浏览器及服务器对请求的URL长度有限制",而get请求的参数又全部拼接在URL后面处理。
        • 所以在使用get方法网络请求的时候,对参数的大小有限制。
      • post请求

        • 因为POST不是通过URL提交数据,所以POST是没有大小限制。
        • HTTP协议规范也没有进行大小限制,起限制作用的是服务器的处理程序的处理能力。
    • 请求体
      • get请求所有的参数都拼接在请求路径后面,所以没有请求体
      • post请求把参数全部都放在请求体中传递。

    表单发送请求

    发送get请求说明
        在form表单中通过action来设置请求的服务器地址
        默认情况下发送的请求是get请求,可以通过method方法来修改为使用post请求
        如果想要提交数据(参数)给服务器,那么在表单中必须要拥有name属性,只要添加了name属性,那么在提交数据的时候
        系统会自动的把name里面的key和对应的value值拼接在一起,如果有多个参数那么就使用&来隔开
    
        如果是通过get提交给服务器端的数据,那么在php文件可以通过$_GET全局对象获取
        如果要获取传入的某个元素,那么就直接使用$_GET["key"]的方式来读取
    
    • 示例代码

            <form action="01-get-php.php">
                <input type="text" placeholder="请传入用户名" name="userName">
                <input type="text" placeholder="请传入密码" name="password">
                <input type="submit">
            </form> 
      
    发送post请求
    • 示例代码

            <form action="01-get-php.php" method="post">
                <input type="text" placeholder="请传入用户名" name="userName">
                <input type="text" placeholder="请传入密码" name="password">
                <input type="submit">
            </form>
            //服务器端具体处理
            echo $_POST["userName"]
            echo $_POST["password"]
      
    • $_GET获取get请求提交的数据 $_POST获取post请求提交的数据 $_FILES获取post请求提交的文件

    表单进行文件上传
    • 说明

            01 上传文件通过都发送post请求来实现(设置method)
            02 获取上传的文件需要使用$_Files全局对象
            03 进行文件上传的时候需要设置enctype属性(multipart/from-data)
            04 $_Files本身是一个对象(字典),保存所有上传的文件
                具体的属性:name - 文件的名称
                            type - 文件的类型
                            tmp_name - 文件的临时存储路径
                            error- 错误信息
                            size - 文件的大小
            05 用户上传的文件会保存在一个临时的文件夹中,如果用户没有进行后续的处理,那么这个临时的文件将被删除,因为服务器也有自己的容量限制,如果想要继续使用那么需要额外处理,否则就会被直接删除。
            建议:可以使用move_uploaded_file($_FILES["file"]["tmp_name"],新路径)把文件保存到安全的位置。
            
            06 上传大文件修改修改服务器端的限制
                说明:POST请求本身对文件的大小没有限制,但是服务器端会对文件的大小进行限制,如果要上传大文件,那么得设置让服务器端打开大文件上传的权限。
                需要修改的文件为:
                需要修改的配置为:
                    (1)是否允许上传
                    (2)上传的最大限制
                    (3)post请求的最大限制
                    (4)脚本执行的最大时间
                    (5)接收提交数据的时间
                    (6)最大内存消耗
                修改文件之后,重启wamp服务器软件。
      
    • 示例代码

            <form action="03-upload-php.php" method="post">
                <input type="file"  name="file">
                <input type="submit">
            </form>
      

    Ajax

    • 定义: Ajax(Async javascript and XML)是一门异步的用于发送网络请求的技术。
    • UI刷新:通常情况下,每次提交表达的时候,都会刷新界面,而使用ajax发送请求可以实现异步发送请求获取数据而不刷新界面效果。
    使用Ajax发送网络请求的基本步骤
        01 创建异步对象(XMLHTTPRequest),存在兼容性问题
        02 请求请求路径(open)
        03 发送请求(send)
        04 监听请求的状态(onreadystatechange)
        05 处理请求结果
        
        onreadystatechange的几种状态:
        (1)请求未初始化 - 0
        (2)服务器连接已经建立 - 1
        (3)请求已经接收 -2
        (4)请求处理中 -3
        (5)请求已经完成,且响应已经就绪 -4
        
        处理请求结果
        (1)当请求完成的时候再进行处理,即readyState == 4
        (2)通过响应码判断只有请求成功的时候才进行处理,即响应码>=200,<300或者是=304(缓存)
        (3)拿到服务器返回的响应体:response.Text
        
        
        创建请求对象的兼容性处理:
        if(window.XMLHTTPRequest)
        {
            var request = new XMLHTTPRequest();
        }else
        {
            var request = new ActiveXObject("Microsoft","XMLHTTP");
        }
    
    缓存处理
    • 在IE浏览器中(7),如果发送的是GET请求,那么只要URL没有发生变化,那么IE浏览器就会认为网页的内容也没有发生变化,因此会优先使用缓存数据,所以如果在IE浏览器中想让数据实时更新(获取到最新的数据),那么可以让每次请求的URL都不一样(即每次请求的URL地址不一样)。

    • 在开发中可以使用随机数因子或者是时间戳来添加一个额外的参数给url路径。

      • 获取时间戳:var date = new Date();date.valueOf()
      • 获取随机数因子 Math.radom()
    • 说明

      • 为url添加随机数或者是时间戳的目的: 让每次请求的时候url的内容都不一样
      • 参数变化唯一的作用: 让每次发送网络请求的时候URL都不相同,以让服务器总是把最新的数据返回。

    相关文章

      网友评论

          本文标题:1-wampserver安装/使用 get与post请求/区别

          本文链接:https://www.haomeiwen.com/subject/ingiwxtx.html