Ajax基础(上)
当我们在浏览器地址栏中输入一个网址,或者通过网页表单向服务器提交内容的时候,我们就开始与服务器进行交互。
传统的Web应用交互:
(1)用户触发一个Http请求到服务器,服务器对其进行处理后再返回一个新的HTML页到客户端。
(2)每次当服务器请求客户端提交的请求时,客户都只能空闲等待,哪怕只是一次很小的交互,只需从服务器得到很简单的一个数据,都要返回一个很简单的HTML页。
(3)而客户端每次都要浪费时间和带宽去重新读取整个页面。
Ajax即异步的JavaScript和XML(是一种标记语言,主要用来传递数据),是一种实现无页面刷新获取服务器数据的混合技术,只不过以前客户端和服务器之间传递数据是用的XML,现在主要用的是JSON这种轻格
式的标记语言。
客户端和服务器
CS/BS:软件使用上的两种划分
(1)CS:Client/Server
PC客户端,服务器架构。
特点:重客户端,服务器主要相当于一个数据库,把所有的业务逻辑以及界面都交给客户端完成,优点是较为安全,缺点是b每次升级都需要重新安装,针对不同的操作系统,可移植性差。
(2)BS:Browser/Server 。
浏览器,服务器架构。
特点:基于浏览器访问的应用,把业务层交给服务器来完成,客户端仅仅做界面的渲染和数据的交换。优点在于只要开发服务器端,可以跨平台,可移植性强,缺点是安全性较低,用户体验差。
Web资源
什么是Web?Web网页,表示网络主机上供外界访问的资源。
1)静态Web资源:指Web页面中供人浏览的数据始终不变。
2)动态Web资源:指Web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容是变化的。
Web资源放在哪里?
1)所有的Web资源都放在一个服务器当中,这个web服务器既可以是本地的,也可以是远程的,一般实际应用中都是远程服务器。
2)Web服务器就是可以供外界访问web资源的一个软件,即web服务器安装在远程服务器上,根据对应的端口访问它。
3)web资源放在指定的目录当中,就可以通过对应的端口在浏览器当中访问到。
URL地址
url地址=协议://主机地址:端口号/资源地址 http://www.itlike.com:80/index.html
主机地址可以理解为域名,每台电脑都会有个ip地址和其对应,域名通过dns和ip地址映射,这样我们就可以通过域名来访问这台电脑,然后再通过端口访问web服务器,没个web服务器有很多目录。
上面两个例子说明,www.baidu.com和i.cnblogs.com域名对应的ip地址分别为:36.152.44.95和116.62.230.66
Web资源访问流程
1)客户端:浏览器,Android程序,Ios程序,微信小程序...
2)服务器:php服务器,tomcat服务器,nodejs服务器...
3)思考:当我们在浏览器输入一个网址的时候为什么就能看到一个页面?
一个网址对应的就是一个ip地址,一个ip地址对应着一台电脑,通过ip地址找到对应的电脑,电脑当中安装有Web服务器,通过端口号找到对应服务器;找到对应服务器,服务器把页面返回给你,
这样的一个过程就是http请求的过程。
请求与响应
1)请求:把客户端请求发送给服务器
2)响应:服务器把你想要的数据发送给客户端
请求和响应都需要一定的格式:约定好客户端以什么样的格式把数据给服务器,约定好服务器以什么样的格式把数据给客户端,这个约定使用的就是Http协议。
Http协议
超文本传输协议,是互联网上应用最为广泛的一种网络协议,所有的www文件都必须遵守这个标准,设计http最初的目的是为了提供一种发布和接收HTML面的方法。
请求的发送方式:通过浏览器的地址栏、通过html的form表单、通过a链接的href、src属性。
Http协议的组成:包括请求和响应,请求和响应都是成对存在的,没有请求就没有响应。
当在浏览器中输入某个网址访问某个网站的时候,你的浏览器会将请求封装成一个Http请求发送给服务器站点,服务器接收到请求后会组织响应数据封装成一个Http响应返回给浏览器。
输入一个网址,可以看到请求和响应过程。
(1)Http请求
组成部分:请求行、请求头、请求体(POST请求才会有请求体)
请求方式:GET、POST
请求的资源:/node/form.html?username=myxq&pwd=1234
(2)Http响应
Http响应组成:响应头、响应行、响应体
响应行:主要要知道状态码
200:请求成功
302:请求重定向
304:请求资源没有改变,访问本地缓存。
404:请求资源不存在,通常是用户路径编写错误,也可能是服务器资源已删除。
500:服务器内部错误,通常程序抛异常。
响应体:响应体是服务器回写给客户端的页面正文,浏览器将正文加载到内存,然后解析渲染显示页面内容。
常用请求方式:GET和POST
接下来就可以学习如何使用Ajax了,所需要的工具包括:客户端浏览器(这个已经有了)、web服务器(需要单独配置)
配置node服务器
1)安装node
链接:https://pan.baidu.com/s/1ccEn1jUnLSyTu9tvca4QPg
提取码:uedr
测试是否安装成功,执行:
node -v
npm -v
有上述提示表示安装成功
2)在联网的基础上安装express
执行 npm install -g express
执行 npm install -g express-generator 必须安装这个,不然创建express项目的时候会提示express命令没有找到
执行 express -V
最后基于node创建一个web服务器,首先进入到某个目录下,例如:E:\学习资源\撩课学院Ajax\撩课-面向对象 游戏\撩课-面向对象+游戏\Day27-网络请求-ajax\代码,这个目录下
执行 express myServer --view=ejs,其中myServer 这个名称可以任取
然后在相应的目录下就会生成AjaxServer这个文件,然后还要按照提示安装下npm。
最后按照上面的提示,运行这个web服务器之后,客户端浏览器就可以访问这个服务器里面的资源了。
最后,千万不能关闭,否则服务器也将会关闭。
最后,测试一下如何访问该服务器:在浏览器中输入localhost:3000,其中3000是安装服务器软件时的默认端口。
如果想要离开,按ctrl+c
最后,如果你是使用WebStorm,勾选Coding assistance for Node.js
Ajax基础(上)的更多相关文章
- 史上最全的Ajax基础详解
同步请求和异步请求 先解释一下同步和异步的概念: 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式. 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯 ...
- Web前端-Ajax基础技术(上)
Web前端-Ajax基础技术(上) ajax是浏览器提供一套的api,用于向服务器发出请求,接受服务端返回的响应,通过javascript调用,实现通过代码控制请求与响应,实现网络编程. ajax发送 ...
- 【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】
一.JavaScript基础增强 1.弹窗 (1)使用window对象的showModelDialog方法和showModelessDialog方法分别可以弹出模式窗口和非模式窗口,但是只能在IE中使 ...
- HTML5,jQuery,ajax基础面试
简要描述HTML5中的本地存储 答案: 很多时候我们会存储用户本地信息到电脑上,例如:比方说用户有一个填充了一半的长表格,然后突然网络连接断开了,这样用户希望你能存储这些信息到本地,当网络回复的时候, ...
- Ajax基础知识《一》
对于网站开发人员,一定不会陌生的Ajax技术,本篇就让我们认识一下它,或许在日后的开发过程中我们就可以使用到.Ajax在那方面使用的比较多呢?答案:表单注册,传统的表单注册,有时需要填写大量的信息,当 ...
- Ajax基础2
什么是服务器 网页浏览过程的分析 如何配置自己的服务器程序(AMP) 什么是Ajax 无刷新数据读取 异步,同步 Ajax基础(2) 使用Ajax 基础请求显示txt的文件 字符集编码 缓存,阻止缓存 ...
- Ajax基础--JavaScript实现
ajax原理 1.ajax 即“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML),也就是无刷新数据读取. 通俗地讲就是:AJAX 通过在后台与 ...
- jQuery基础---Ajax基础教程(二)
jQuery基础---Ajax进阶 内容提纲: 1.加载请求 2.错误处理 3.请求全局事件 4.JSON 和 JSONP 5.jqXHR 对象 发文不易,转载请注明出处! 在 Ajax 基础一篇中, ...
- jQuery基础---Ajax基础教程
jQuery基础---Ajax基础 内容提纲: 1.Ajax 概述 2.load()方法 3.$.get()和$.post() 4.$.getScript()和$.getJSON() 5.$.ajax ...
随机推荐
- Get请求使用请求体传递参数会报400异常的问题
问题描述: 前端使用Get请求并且使用请求体传递参数,后端使用@RequestBody注解封装参数,这时会出现400的异常信息. 解决方法: 1.Get请求不要使用请求体,使用请求体的话用POST请求 ...
- class 中的 构造方法、static代码块、私有/公有/静态/实例属性、继承 ( extends、constructor、super()、static、super.prop、#prop、get、set )
part 1 /** * << class 中的 static 代码块与 super.prop 的使用 * * - ...
- Gimbal Lock欧拉角死锁问题
技术背景 在前面几篇跟SETTLE约束算法相关的文章(1, 2, 3)中,都涉及到了大量的向量旋转的问题--通过一个旋转矩阵,给定三个空间上的欧拉角\(\alpha, \beta, \gamma\), ...
- 6、Arrays类
Arrays类 Arrays里面包含了一系列静态方法,用于管理或操作数组(比如排序和搜索) 常用方法 toString 返回数组的字符串形式 Arrays.toString(arr) Integer[ ...
- 以TrueType为例谈字形描述
以TrueType为例谈字形描述 作者:哲思 时间:2022.9.17 邮箱:zhe__si@163.com GitHub:zhe-si (哲思) (github.com) 一.前言 在深入理解&qu ...
- HTTPS安全加固配置最佳实践指南
转载自:https://www.bilibili.com/read/cv16067729?spm_id_from=333.999.0.0 0x02 HTTPS安全加固指南 描述: 当你的网站上了 HT ...
- Logstash: 如何创建可维护和可重用的Logstash管道
- 了解Elasticsearch写入磁盘的数据
文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484171&idx=1&sn=985a71a ...
- Nginx配置中一个不起眼字符"/"的巨大作用
文章转载自:https://mp.weixin.qq.com/s/QwsbuNIqLpxi_FhQ5pSV3w Nginx作为一个轻量级的,高性能的web服务软件,因其占有内存少,并发能力强的特点,而 ...
- ELK 性能优化实践 ---总结篇
版本及硬件配置 JDK:JDK1.8_171-b11 (64 位) ES集群:由3台16核32G的虚拟机部署 ES 集群,每个节点分配 20 G 堆内存 ELK版本:6.3.0 垃圾回收器:ES 默认 ...