IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 前端知识总结(http) -> 正文阅读

[网络协议]前端知识总结(http)

1.状态码的分类

1xx 服务器收到请求

2xx 请求成功,如200

3xx重定向,如302

4xx客户端错误,如404

5xx服务端错误,如500

2.常见状态码

200 请求成功

301永久重定向

302临时重定向

304资源未被修改

404资源没有找到

403没有权限

500服务器错误

3.现在的methods

get 获取数据

post 新建数据

patch/put 更新数据

delete 删除数据

4.Restful API

传统API把每一个url当作一个功能

RestfulAPI把每一个url当作一个唯一的资源

Restful尽量不用url参数,使用methods来表示操作类型

//传统API
/api/list?pageIndex=2
/api/list/2
post 请求 /api/create-blog
post 请求 /api/update-blog?id=100
get  请求 /api/get-blog?id=100

//Restful API
/api/list/2
post请求 /api/blog
patch请求 /api/blog/100
get请求 /api/blog/100

5.http headers

1.常见的Request headers

Accept 浏览器可接收的数据格式

Accept-Encoding 浏览器可接收的压缩算法,如gzip

Accept-Language浏览器可接收的语言,如zh-CN

Connection:keep-alive 一次TCP连接重复使用

cookie

host

User-Agent(简称UA)浏览器信息

Content-Type? 发送数据格式,如application/json

2.常见的Response headers

Content-Type 返回的数据格式 如application/json

Content-length? 返回数据的大小有多少字节

Content-Encoding 返回数据的压缩算法,如gzip

Set-cookie 服务端修改cookie的时候,把cookie改掉

3.缓存相关的headers

Cache-Control?

Expires

Last-Modified

If-Modified-Since

Etag

If-None-Match

6.http缓存

1.哪些资源可以被缓存?

静态资源(js,css,img)

2.cache-control的值

cache-control在response-header中

max-age:缓存最大过期时间(单位:秒),之前使用的是expires属性值,现在基本已经被max-age代替

no-cache:不用本地缓存,正常的向服务器发起请求,让服务端处理

no-store:不用本地缓存,也不用服务器处理,直接让服务器发送请求的资源

private

public

3.协商缓存

是一种服务器端的缓存策略

服务器端判断资源是否与客户端的资源一样

如果一样,返回304,使用客户端资源,如果不一样,返回200和新的资源

在response header当中,有两种资源标识:

Last-Modified:资源的最后修改时间

1.初次请求,返回资源和Last-Modified

2.再次请求,request header中带着If-Modified-Since

3.返回304,或者返回新的资源和Last-Modified

Etag:资源的唯一标识(一个字符串,类似人类的指纹)

1.初次请求

2.返回资源和Etag

3.再次请求,request header中带着If-None-Match

4.返回304,或者返回新的资源和新的Etag

http缓存全过程

1.http请求

2.有缓存

3.缓存是否过期?

没有过期→读取缓存→强缓存→页面呈现

缓存已过期→判断有没有Etag和Last-Modified?

没有→向服务器发出http请求→服务器返回http资源→页面呈现

有→向服务器发起http请求,并且带有If-None-Match和If-Modified-Since字段

服务器判定客户端缓存是否可用?

不可用→200→返回新的资源

可用→304→读取缓存资源→协商缓存

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 21:30:49  更:2022-03-21 21:32:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:53:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码