HTTP相关知识整理

来源于慕课网进击node.js基础

什么是HTTP

计算机之间的通信协议,通常流程为

  • HTTP客户端发起请求,创建端口,建立tcp连接
  • HTTP服务器在端口监听客户端的请求
  • 收到请求后,HTTP服务器向客户端返回状态(200)和内容

单击网址或者刷新页面时,页面渲染过程

  • Chrome搜索自身的DNS缓存
  • 如果没有找到缓存或者缓存已经失效,搜索OS自身的DNS缓存
  • 读取本地的host文件
  • 浏览器发起DNS的一个系统调用(向宽带服务商)
    宽带运营服务商查看本身的缓存
    运营服务商发起迭代DNS解析的请求
    找到后,运营商服务器把结果返回OS内核同时缓存起来
    OS内核把结果返回浏览器
  • 浏览器获得域名对应的IP地址后,发起HTTP的“三次握手”
  • TCP/IP连接建立起来之后,浏览器就可以向服务器发送HTTP请求了
  • 服务器端收到请求后,把后端处理后的一些结果数据返回给浏览器
  • 浏览器解析和渲染此HTML页面

查看Chrome的DNS缓存记录

chrome://net-internals/#dns

请求方法

GET:获取数据
POST:向指定资源提交数据
PUT:更新数据
DELETE:删除数据
HEAD:发出请求,区别在于不返回资源
TRACE
OPTIONS

回调函数

将后续逻辑作为函数的参数传入,率先执行.后续逻辑可以是一个函数,也可以是一个匿名函数。

function learn(sth){
    console.log(sth);
}

function we(callback, sth){
    sth += ' is good!';
    callback(sth)
}

//回调函数,一般最后执行
we(learn, 'Node');

//匿名函数
we(function(sth){
    console.log(sth);
}, "Java");

同步与异步

同步: 程序的执行顺序与任务的排列顺序是一致的(浏览器端的js是单线程的,顺序执行)
异步: 程序的执行顺序与任务的排列顺序是不一致的、异步的

作用域与上下文

作用域:全局与局部
上下文: this, call, apply

你可能感兴趣的:(HTTP相关知识整理)