URL:统一资源定位符
网络的七层协议:网卡 驱动 网络层(ip) 传输层(tcp udp) 会话层( ) 应用层(http、)
restful表征状态转移(一种表征架构)
CURD 增删改查
post改 get查 put增 delete删
head没有响应主体
get系:get head delete 没有请求主体
get系和post系区别
get系没有请求主体
get系会被缓存
get系有大小限制,最大不能超过8k,但是一般情况超过4k就用post了(因为get没有主体,数据都是拼接到url后面,因为浏览器对url有大小限制) post都放在了请求主体里所以没有大小限制
发送的数据,get系是明文发送,post系会把data放到请求主体里,无法看见
socket 管即时通讯的
通过http建立连接 http connection 响应码 101
通过tcp进行交互
delete put 返回码是202
http status code 状态码
200 成功 服务器端和客户端都成功
202 接受
301 永久转移
302 临时转移 临时重定向
负载均衡 集群 多台服务器间的跳转
303永久重定向 、307 临时重定向
304 走服务器缓存 not modified
响应首部
last-modified 最后一次修改的时间 gmt标准时 浏览器先找last-modified,不存在就会找etag
atag 文件修改一次 时间就变一次 通过sha1算法 散列值
请求头部
if-modified-since GMT时间
if-none-match 一串通过检验内容进行sha(1|2)算法的字符串
cache-control second 缓存的是秒数
expires gmt data 缓存到什么时候
400 参数错误 bad request
401 未认证 not authoriticated
403 禁止访问 没有权限 forbidden
404 未找到 not found
417 资源过大
500 服务器内部错误 internal server error
502
503 并发太高 (同时处理的太多)
MIME type 告诉浏览器以什么格式处理数据 格式 xxx/xxx
text/html
text/css
text/javaScript
img/png
img/jpg
img/gif
application/json
application/octet-stream
url格式
http 端口80
https 端口443
ftp 文件传输协议
smtp 传输邮件的
telnet
账号 密码 域名(主机名) 端口 路径
scheme://username:password @hostname: port/ path?querystring#hash
http https ftp 协议
文件上传的mime-type是multi-part/form-data
传二进制用 application/octet-stream
ArrayBuffer 透明的
Blob 不透明的
1.1和2.0的主要区别?
(1)多路复用
(2)首部压缩
(3)服务器推送
console.time('a');
for(var i=0;i<1000;i++){};
console.timeEnd('a');
console.tab([{name:'asde',age:12},{name:'asde',age:12},{name:'asde',age:12}])
console.dir();输出某个对象的详情
使用jQuery
$.ajax({
url: "test.txt",
type: "get",
dataType: "json",//text
async: true,
success: function (data) {
//data就是我们请求的结果
console.log(data);
},
error: function () {
}
});
$.ajax({
url: "test.txt",
type: "post",
data: {
name: "12"
},
dataType: "json",
success: function (data) {
//data就是我们请求的结果
console.log(data);
}
});
使用原生的JS
var createXHR = (function () {
if ("XMLHttpRequest" in window) {
return function () {
return new XMLHttpRequest();
}
}
if (new ActiveXObject("Microsoft.XMLHTTP")) {
return function () {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
if (new ActiveXObject("Msxml2.XMLHTTP")) {
return function () {
return new ActiveXObject("Msxml2.XMLHTTP");
}
}
if (new ActiveXObject("Msxml3.XMLHTTP")) {
return function () {
return new ActiveXObject("Msxml3.XMLHTTP");
}
}
})();
var xhr = createXHR();
xhr.open("get", "test.txt");
xhr.onreadystatechange = function () {
if (this.readyState === 4 && /^2\d{2}$/.test(this.status)) {
var value = this.responseText;
console.log(value);
}
};
xhr.send();//"post请求中如果需要传递给后台数据,我们需要把JSON格式的字符串放到里"
非同源策略
function aaaaa(data) {
console.log(data);
}
前端:利用<script>不存在跨域的概念(我可以在自己的网页中引入任何域名下的JS文件),我们通过<script>的src属性,向后台发送一个请求,并且把一个函数的名字(aaaaa)传递给后台(一般来说都是?callback=aaaaa)
后台:后台会把传递进来的参数进行解析,获取到你的方法名aaaaa,并且执行这个方法,把所有需要给你的数据传递给aaaaa
我们aaaaa中定义的形参data中其实就已经存储了我们需要的数据,接下来在做数据解析、数据绑定即可
</script>
<!--<script type="text/javascript"-->
<script type="text/javascript">
$.ajax({
type: "get",
dataType: "jsonp",
jsonpCallback: "a",
success: function (data) {
console.log(data);
}
});
$.ajax({
type: "get",
dataType: "jsonp",
jsonp: "cb",//->修改callback这个属性名为cb
jsonpCallback: "aa",//->修改cb传递值的名字为aa
success: function (data) {
console.log(data);
}
});
个人整理,转载请标明出处
- day 6 - 1 知识点小节
python2 与 python3 的区别 1. print.input.生成器 #python2 print() print 'abc' range() xrange() 生成器 raw_input ...
- Ajax 知识点
AJAX 即"Asynchronous Javascript And XML"(异步JavaScript和XML) Ajax 不是某种编程语言,只是一种在无需重新加载整个网页的情况 ...
- ajax知识点总结
一.JSON JSON是JavaScript Object Notation 的首字母缩写,单词的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数 ...
- ajax知识点
什么是AJAX? AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. ...
- django jquery ajax 知识点
示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <div id='d'>1</div> <div> <div id='i1' nam ...
- ajax知识点及正则表达式总结
一.JSON JSON是JavaScript Object Notation 的首字母缩写,单词的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数 ...
- Ajax知识点复习
1. ajax是什么? * asynchronous javascript and xml:异步的js和xml * 它能使用js访问服务器,而且是异步访问! * 服务器给客户端的响应一般是整个页面,一 ...
- ajax知识点补充
读取服务器上的数据: HTML: <!DOCTYPE HTML><html><head><meta charset="utf-8"> ...
- Ajax知识点整理
一.javascript原生Ajax 1.简介 Ajax是Asynchronous JavaScript+XML(异步JavaScript和XML)的缩写. 该名称诞生于XML还是数据传输首选格式的时 ...
随机推荐
- [转载]查看基于Android 系统单个进程内存、CPU使用情况的几种方法
转载自: http://www.linuxidc.com/Linux/2011-11/47587.htm 一.利用Android API函数查看1.1 ActivityManager查看可用内存. A ...
- C++-多重继承的注意点
1, 钻石型多重继承如果不想要底部的类有重复的变量,则需要声明为virtual继承 class File{...}; class InputFile: virtual public File{..}; ...
- Convert.ToInt16 与 Convert.ToInt32 区别
取值的范围不同: int16:-32768 到 32767 int32:-2,147,483,648 到 2,147,483,647
- HDU 4622 求解区间字符串中的不同子串的个数
题目大意: 给定一个长度<2000的串,再给最多可达10000的询问区间,求解区间字符串中的不同子串的个数 这里先考虑求解一整个字符串的所有不同子串的方法 对于后缀自动机来说,我们动态往里添加一 ...
- Redhat6.x下如何进行远程安装虚拟机
远程主机IP:192.168.122.1 远程主机名:server1.example.com 本地主机IP:192.168.122.2 本地主机名:server2.example.com 1.登录到远 ...
- Java与.NET DES加密解密互转
上代码: Java代码: import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKe ...
- swing LayoutManager 和多态
interface LayoutManager{ void show();}class FlowLayout implements LayoutManager{ public void show(){ ...
- windows命令行及批处理文件小结
1.命令Shell概述(Command shell overview): The command shell is a separate software program that provides ...
- python建立pip.ini
pip 是python的包管理器工具,类似linux的apt-get.yum包管理器,主要是用来进行安装python库, pip默认从官方源pypi.python.org下载数据,国内速度相对比较慢, ...
- C++ primer的第二章的主要内容
这第二章主要是介绍了C++中基本的内置数据类型:整型与浮点型.介绍了什么是变量的过程中了解到了左值与右值的概念.左值是可以出现在赋值语句的左边或者右边,也就是说可以放在等号的左右两边,而右值只能是出现 ...