| |
|
开发:
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.现在的methodsget 获取数据 post 新建数据 patch/put 更新数据 delete 删除数据 4.Restful API传统API把每一个url当作一个功能 RestfulAPI把每一个url当作一个唯一的资源 Restful尽量不用url参数,使用methods来表示操作类型
5.http headers1.常见的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地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |