导航


HTML

CSS

JavaScript

浏览器 & 网络

版本管理

框架

构建工具

TypeScript

性能优化

软实力

算法

UI、组件库

Node

冷门技能

HTTP 请求方式有哪些

序号 方法 描述
1 GET 请求指定的页面信息,并返回实体主体。
2 HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
3 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
4 PUT 从客户端向服务器传送的数据取代指定的文档的内容。
5 DELETE 请求服务器删除指定的页面。
6 CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
7 OPTIONS 返回服务器针对特定资源所支持的HTTP请求方法
8 TRACE 回显服务器收到的请求,主要用于测试或诊断。

说说HTTP 常见的状态码有哪些,适用场景?

Untitled

一、是什么

HTTP状态码(英语:HTTP Status Code),用以表示网页服务器超文本传输协议响应状态的3位数字代码

它由 RFC 2616规范定义的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774与 RFC 4918等规范扩展

简单来讲,http状态码的作用是服务器告诉客户端当前请求响应的状态,通过状态码就能判断和分析服务器的运行状态

二、分类

状态码第一位数字决定了不同的响应状态,有如下:

1xx

代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束

常见的有:

2xx

代表请求已成功被服务器接收、理解、并接受

常见的有:

3xx

表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向

常见的有:

4xx

代表了客户端看起来可能发生了错误,妨碍了服务器的处理

常见的有:

5xx

表示服务器无法完成明显有效的请求。这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生

常见的有:

三、适用场景

下面给出一些状态码的适用场景:

参考文献

⭐ JS 延迟加载的方法有哪些?

  1. <script async src="script.js"></script>:给script标签加async属性,则加载和渲染后续文档元素的过程将和 script.js 的加载与执行并行进行(异步)
  2. <script defer src="script.js"></script>:给script标签加defer属性,加载后续文档元素的过程将和 script.js 的加载并行进行(异步),但是 script.js 的执行要在所有元素解析完成之后,DOMContentLoaded 事件触发之前完成
  3. 动态创建script标签:等到DOMContentLoaded 事件触发时,生成一个script标签,渲染到页面上上
  4. setTimeout 定时器延迟代码执行

⭐ 懒加载与预加载区别

1. 懒加载

2. 预加载

3. 懒加载和预加载的区别

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>预加载</title>
  <style>
    .container {
      width: 300px;
    }
  </style>
</head>
<body>
  <div class="container"></div>
  <script>
    let oDiv = document.querySelector('.container'),
        imgArr = [
          "<https://placekitten.com/200/100>",
          "<https://placekitten.com/300/200>",
          "<https://placekitten.com/400/300>",
          "<https://placekitten.com/500/400>",
        ];

    imgArr.forEach(imgSrc => {
      let img = new Image(); 
      img.style.width = "100%";
      img.src = imgSrc;
      img.onload = function() { // 图片加载完后再添加到页面中去
        oDiv.appendChild(img);
      }
    });
  </script>
</body>
</html>

⭐ 监听 ajax 上传进度

//【上传进度调用方法实现】
xhr.upload.onprogress = progressFunction

⭐ 浏览器多标签页之间的通信