HTTP报文及ajax基础知识
HTTP报文
客户端传递给服务器的内容 和 服务器传递给客户端的内容 都属于HTTP报文
起始行:请求起始行 响应起始行
首部:请求首部 响应首部 通用首部(请求和响应都有的) 自定义首部
主体:请求主体 响应主体
客户端传递给服务器端数据:
请求URL后面问号传参的方式传递给服务器 /getList?name=zhangsan&age=7
设置请求的首部(设置请求头信息)
设置请求主体,把传递给服务器的内容放在请求主体中传递给服务器
服务器端传递给客户端数据:
设置响应头信息
设置响应主体内容
Ajax : async javascript and xml 异步的JS和XML(可扩展的标记语言,在XML文件中使用的标签都是自己扩展的,利用自己扩展的有规则的标记来存储相关的数据)
Ajax是客户端JS中的方法,用来向服务端发送请求(还可以传递给服务器端数据),然后把服务器端返回的内容获取到(Ajax一般是运行在客户端的浏览器中的)。
Ajax四步:
创建一个Ajax对象(下面的这种写法在IE6及更低版本的浏览器中不支持)
var xhr = new XMLHttpRequest;
发送前的基本信息配置:配置请求方式(GET、POST、PUT、DELETE、HEAD...)
打开一个URL地址(配置向哪一个服务器地址发送请求)
同步还是异步(true代表异步 false代表同步 默认是true)
[username]向服务器提供请求的用户名
[userpass]向服务器提供请求的用户密码,这两个值一般都不写,只有服务器做了安全的限制,只允许特定的用户访问的话,我们才传递过去
xhr.open('get',"/data.txt",false,[username],[userpass]);
给onreadystatechange这个事件绑定一个方法,监听状态的改变(只要状态改变,就触发方法执行)
xhr.onreadystatechange = function(){
xhr.readyState:AJAX状态码,可以代表当前处理的进度
0 unset 当前的请求还没有发送
1 opened URL地址已经打开(发送前的参数配置已经完成)
2 headers_received 响应头信息已经接受
3 loading 主要返回的内容正在服务器端进行准备处理
4 done 响应主体的内容已经成功返回给客户端
xhr.status:HTTP网络状态码,描述了服务器响应内容的状态
200 OR ^2\d{2} (200或者以2开头) -> 都代表响应主体的内容已经成功返回了
301 永久重定向/永久转移
302 临时重定向/临时转移 服务器的负载均衡
304 本次获取的内容是读取缓存中的数据
400 客户端传递给服务器端的参数出现错误
401 无权限访问
404 客户端访问的地址不存在
500 未知的服务器错误
503 服务器已经超负荷
if(xhr.readyState===4 && /^2\d{2}$/.test(xhr.status)){ var val = xhr.responseText; } }
发送请求:参数是请求主体中传递给服务器的内容
xhr.send(null);
总结
以上所述是小编给大家介绍的HTTP报文及ajax基础知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- android实现条目倒计时功能
- Android实现简单手电筒功能
- k8s安装自动证书签发cert-manager letsencrypt
- Android仿Keep运动休息倒计时圆形控件
- android通过led实现手电筒功能
- Android 7.0 手电筒控制实现
- 【STM32H7】第13章 RL-TCPnet V7.X之创建多个TCP客户端
- Android倒计时的开始与停止 剩余时分秒的展示
- 由LFI引起的Zimbra邮件管理系统0day
- Android手电筒兼容各个手机与版本
- 【STM32F429】第13章 RL-TCPnet V7.X之创建多个TCP客户端
- RecyclerView仿应用列表实现网格布局
- Android实现带进度条的WebView
- Android实现记住密码功能
- 【- Flutter Web篇 -】 FlutterUnit web版闪亮登场