ajax 属于前端与后端交互部分
BS架构和CS架构
* browser Server 浏览器服务,是基于浏览器上网的
* client Server 客户端服务,基于客户端软件
BS与CS的区别
1、性能上:CS架构性能要好一些,有自己的安装包,可以集成大型图片。BS架构所有内容都需要从服务端加载,性能稍差一些,但可以做一些缓存
2、安全性:CS架构安全性要好一些,BS架构安全性稍差。
3、BS架构免安装,而且开发效率高,只要开发一个基于html5的页面即可。
客户端与服务端:
客户端:具有想服务器索取服务能力的终端,安装不同的客户端软件来想服务器索取不同的服务于。如索取web服务、邮箱服务、下载服务等
前端开发:以浏览器为宿主环境,结合HEML、CSS、JavaScript等技术,而进行的一系列开发。
服务端:能够对外提供服务的计算机成为服务器(端口号来确定提供[具体]服务的类型)
服务端分类
服务器软件:使计算机具有提供某种服务能力的软件,即为服务器软件
1、按服务类型:文件服务器、数据库服务器
2、按操作系统:Linux服务器、windows服务器
3、按应用软件:Apache服务器、IIS服务器、Tomcat服务器、Node服务器
计算机+操作系统(windows,linux)+安装不同的服务端的软件,提供不同的服务
Ajax网络通信知识
Ip:
- 查看本机ip地址,使用命令行ipconfig查看;32位的地址指的是2进制,ip是唯一标识的,如果有冲突则会提醒
- 分类:局域网ip,是交换机或者路由器去分配的,局域网:是指在某一区域内由多台计算机互联成的计算机组;公网ip:一般需要去电信申请,通过ping 命令可以找到域名对应的ip
- 一个主域名可以适配多个子域名
- 端口:一台计算机大概有6万多个端口,每对外提供一种服务,就要占用一个端口号,即根据端口号可以确定所提供的具体服务。web默认80端口,数据库服务默认端口号:3306
域名解析
域名系统里面存放的是域名和ip的一个映射关系。DNS服务器会根据域名查找对应的ip
* 域名类型:.net、.com、.cn、.gn、、
* 域名申请:到电信申请
* 域名备案:
资源分类
1、动态资源:通过服务器解析,如php、Java、jsp等。
2、静态资源:可以通过浏览器直接解析生成,即为静态资源。如:html5、CSS3、Javas等
php 基本知识了解
一个页面可以有多个PHP标签,PHP是通过服务器解析的动态资源
* php 变量类型:字符串、整型、浮点型、Boolean、数组
* PHP中数组分为普通数组和关联数组,关联数组以键值对的方式出现
* php必须写在<?php 代码>
* PHP中必须使用$ 定义变量
* 在get提交时,解决乱码问题header("Content-Type:text/html;charset=utf-8")
* 一个页面可以写多对PHP标签
* PHP中的字符串链接不能使用+。应该使用 . 链接
数组中常用函数及方法:
* count():用来获取数组的长度
* file_get_contents():读取文件的内容
* in_array(元素,数组):判断数组中是否存在某个元素,用于普通数组
* array_key_exists(键,数组):判断数组是否存在某个键,用于关联数组
* $_FILES()接受数据
* move_uploaded_File()移动上传的数据
* getallheaders() :获取所有的请求头
* strstr (字符串,子字符串):某个字符串是否包含摸个字符,包含则返回该字符串之后,全部截取。如果不包含,则什么都不返回。
* array_rand(数组)随机获取数组中的元素。返回值为索引
php 中的输出
* echo :用来输出字符串
* print_r() :用来输出数组,或者对象
* var_dump() :输出数组里面的详细信息
客户端给服务器发送请求的方式
发送请求就是给服务端进行提交,提交数据到服务器
1、在地址栏输入地址发送请求(get提交)
2、点击超链接,发送请求(get提交)
3、表单提交发送请求(method提交,可设置为post也可设置get提交)
发送请求是给服务器发送请求,提交数据到服务器常见的两种方式:get和post
get方式提交通过 参数 传递 ,给服务器发送数据。第一个参数必须是?,参数之间用&链接,
* $_GET[]受传输的数据。对应的值是数组
* $_POST[]接受post方式传输的数据
http协议
用来约束客户端浏览器与web服务器进行通讯的数据格式,由w3c制定的。HTTP协议是基于请求、响应的协议。
HTTP分类:
- 客户端发送到服务器的请求,称为请求的数据格式
- 请求的数据格式:
- 请求首行:告诉服务器 提交方式、请求资源的地址、协议的版本
- 请求头:请求头名称,请求头的值
- 请求空行:区分请求头和请求体
- 请求体:请求参数部分
- 请求的数据格式:
- 服务器响应给客户端的数据,称为响应的数据格式
- 响应的数据格式:响应头、响应首行、响应空行、响应体
HTTP协议常识
* Cache-Control: 缓存数据使用
* User-Agent: 告诉服务器,客户端浏览器,操作系统的版本
* window NT6.1:window7的别名
* Accept-Encoding: 接受文件的压缩格式
* Accept-Language: 接受的语言
* referer : 告诉服务器,请求的来源,(广告流量统计、防盗链)
常用状态码
* 200 :表示请求成功
* 404 :表示请求的资源没有找到
* 500 :代表服务器内部错误
* 405 :请求的方式不支持
* 304 :请求的资源没有发生改变
关于http的面试知识:
-
1、get根post的区别
get 请求的请求参数,发送数据,数据写在地址栏后面,不安全
get 对请求的数据大小有限制
get 没有请求体
post 请求的参数都在请求体当中,相对安全
post 请求对数据的小小没有限制,所以我们文件上传必须是post提交
post必须设置一个请求头
get 比 post 的请求要少一些,性能要高些。 -
2、请求的数据格式
特殊的请求头
User-Agent中的Referer来自哪个页面(广告流量统计,防盗链)
post提交有一个特殊的请求头
Content-Type:"application/-x-www-form-urlencoded"- 3、响应的数据格式
常用状态码:200、404、405、500、304、302(请求重定向) - 4、在开发过程解决乱码问题
1、客户端的数据发送到服务器
如果有中文,一般使用post方式提交
使用JS进行编码,encode(),服务器进行解码
2、服务器端的数据响应客户端
如果当前文件采用的是什么编码
然后给客户端一个响应头Content-Type:text/html;charset=utf-8
- 3、响应的数据格式
AJAX(异步交互)
原理:通过XMLHttpRequest 对象,用来发送http请求。
1、同步交互:客户端请求服务器,服务器接收到请求,处理请求,然后给客户端一个响应,响应的数据会把原来的页面给覆盖
2、异步交互:客户端请求服务器,服务器接收到请求,处理请求,然后给客户端一个响应,响应的数据不会吧原来的页面覆盖。(页面无刷新动态获取数据)
XMLHttpRequeset 交互的步骤
1、创建这一个对象
2、和服务器建立连接
3、在连接上发送数据
4、接受服务端返回的数据(会返回0、1、2、3、4四个状态码,4表示服务端的数据已经响应完成)
XML和JSON数据格式
XML与HTML的区别
- 可扩展的标记语言,和HTML都是有标记标签组成,XML里的标签是自定义的,而HTML标签是有w3c制定
- XML主要用来做软件的配置文件,用来做数据的传输。HTML主要用来显示页面显示,浏览器解析,
- XML第一行必须是文档声明,第二行必须有且仅有一个根元素,标签可以嵌套,不能交叉嵌套