首页 > 其他分享 >前端 http学习笔记

前端 http学习笔记

时间:2025-01-17 15:31:16浏览次数:3  
标签:HTTP 请求 前端 笔记 响应 用于 http 客户端

1.http全称是HyperText Transfer Protocol 超文本传输协议
2. TCP/IP协议栈分为应用层,传输层,网络层,数据链路层。 HTTP工作在应用层。底层数据传输由TCP UDP负责
3.HTTP的版本

1.最常用的是HTTP/1.1  HTTP/2 HTTP/3

2.HTTP/1.1依然在被广泛使用,  http/2引入了多路复用,二进制帧层,头部压缩等特性。提升了不少传输性能 。 HTTP/3基于QUIC协议使用UDP作为传输层进一步降低了延迟提升了传输性能

4.HTTPS

https是http的假面全版本,全称是HTTPSecure。在圆是版本上加盖了一层SSL/TLS实现加密传输。除了http3  tls在其他版本并不强制要求

5.HTTP请求和响应

http协议大体上是一种问答形式 

客户端发出请求,服务端处理请求,再给出响应。无论是html文档还是图片视频等资源都是通过这种问答来传输的,服务器会根据不同场景返回不同响应码

只需要记住2开头表示成功处理,3开头表示重定向,4开头表示客户端错误,5开头表示服务端错误

6.请求头和响应头

1.用于请求上下文的:Host,Referer,User-Agent

2.用于响应上下文的Allow,Server

3.用于缓存的Cache-Control  Last-Modified/Last-Modified-Since ETag/Lf-NoneMatch

4.用于Cookie的Cookie Set-Cookie

5.用于安全的X-Frame-Options Strict-Transport-Security(HSTS)  Content-Security-Policy(CSP)

6.用于跨域控制(CORS)的Origin  Assess-Control

7.用于描述消息主题的 Content-* 一套

7.XHR及其拓展

前端请求资源和浏览器异步交互都是通过HTTP协议完成。 最早使用XMLHttpRequest(XHR)完成 

后来许多三方库基于他做了功能拓展如JQuery,Ajax,Superagent,Axios。。。

8.Fetch

Node.js环境下的fetch是基于Undici实现的 而在边缘运行时(Edge Runtime)中Fetch API会根据运行平台不同实现不同。因此在现代前端应尽可能使用Fetch API或者其封装库来管理异步请求。(fetch不支持上传进度)

9.大型客户端应用中的变体

不是所有的客户端环境都支持现金的HTTP/2或HTTP/3原始HTTP协议在更复杂的高并发场景下 会不够高效稳定。因此大型技术基建会涉及一层无线网关(Gateway)增加登陆验证,请求跟踪,监控,限流等功能前端代码通过远程过程调用(RPC)的方式而非直接使用HTTP的方式

以bilibili客户端为例

客户端请求

前端发起一个grpc请求至gateway网关同时发送了多个自定义请求头。比如x-bili-mid表示当前用户,xbili-trace-id用于链路日志追踪,x-bili-device-bin表示设备信息等

服务端响应

Content-Type表示这是一个grpc响应

Bili-Trace-Id用于日志追踪等

可以看出相比浏览器的http  客户端中http更为复杂,定制化的HTTP协议能带来更强大的功能

最后:本文是根据b站稻谷键盘的小麦视频总结。 有兴趣可以去搜现代前端开发必知看更多

标签:HTTP,请求,前端,笔记,响应,用于,http,客户端
From: https://blog.csdn.net/weixin_64132598/article/details/145202526

相关文章

  • juju的电脑基本操作学习笔记_打开CMD与bash命令
    juju的电脑基本操作学习笔记_打开CMD与bash命令普普通通滴打开CMD方式一:任务栏搜索CMD方式二:按住win+R打开运行在里面输入cmd方式三:在文件夹的任何一个位置单击右键,选择Openinterminal方式四:在资源管理器的地址栏的最前面加上cmd空格再回车以管理员方式运行CMD常用的b......
  • 【前端进阶】在AI浪潮下前端如何结合应用于程序中,如:Brain.js创建模型
    前端和人工智能(AI)的结合可以创造非常丰富的用户体验,从简单的基于规则的交互到复杂的机器学习模型驱动的功能。在Web应用程序中集成AI可以增强用户交互、个性化内容推荐、图像和语音识别、自然语言处理等。前端与AI的结合应用聊天机器人(Chatbots):通过集成NLP(自然语言处理)技......
  • STM32学习笔记—SPI总线通信原理与实验
    SPI总线通信原理SPI总线简介SPI接口是Motorola首先提出的全双工三线同步串行外围接口,采用主从模式(MasterSlave)架构;支持多slave模式应用,一般仅支持单Master。时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSBfirst);SPI接口有2根单向数据线,为全双工通信,......
  • 【后端笔记】系统功能概览
    一、后端系统功能总结(详细版)后端系统承担着数据处理、业务逻辑执行、前端交互以及与外部系统的集成等任务。一个高效的后端系统应具备各项功能,以保证系统的稳定性、扩展性和安全性。以下是后端系统功能的详细总结:(一)用户管理功能(1)用户注册与登录注册:提供用户创建账户......
  • 原根学习笔记+BSGS复习笔记
    学原根发现拔山盖世算法忘光了,干脆一块儿写了吧。\(BSGS\)算法\(BSGS\)算法,又名拔山盖世算法、北上广深算法。他解决的问题如下:求解最小的可行的\(k\),满足\(a^k\equivb(\bmodp)\),其中保证\(\gcd(a,p)=1\)。容易想到暴力枚举,时间复杂度\(O(p)\),但是巨劣,考虑优化。......
  • HTTP与HTTPS的作用与区别
    在日常浏览网页的过程中,我们常常会看到网站的地址栏中有些是以http://开头,而另一些则是以https://开头。那么,它们之间到底有什么区别呢?为何HTTPS越来越被推荐作为网络安全的标准?在本文中,我们将深入探讨HTTP和HTTPS的作用与区别,以及它们如何保障我们在互联网上的通信安全......
  • Java初学者笔记-01、封装继承多态
    封装:封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。通过封装,可以将类的信息隐藏在类内部,只暴露对外的接口(如setter和getter方法),从而提高代码的安全性和可维护性。继承:继承是从已有的类中派生出新的类的过程。新的类(子类)能够吸收已有类(父类)的数据属性和行为,并且可以......
  • JMeter:处理 HTTP 请求失败并标记为成功
    JMeter:处理HTTP请求失败并标记为成功重要提示:通常情况下,不建议将失败的请求标记为成功。明确知道需要这样做,并且已经充分考虑了其影响的情况下,才应该使用这种方法。常见的使用场景包括:测试应用的容错能力:测试应用程序在API接口不可用时的行为。暂时忽略某些已知错误:在......
  • https证书一键自动续期,帮你解放90天限制
    前言前几天网站证书到期,发觉证书颁发每次只能90天有效期,这谁能忍受,于是乎发觉网上有免费的一键续期脚本,真正解放我们的双手。项目如下acme.sh。期间由于"墙"的原因,踩了很多的坑,此文记录一下踩坑的过程,同时也帮助我们"墙内"的程序员,不需要踩不必要的坑。1、安装acme.sh脚本官网......
  • 说说你对移动端和web前端开发的主要区别是什么?
    移动端开发和Web前端开发的主要区别体现在以下几个方面:运行平台:Web前端开发主要指传统的PC端网页开发,页面主要是运行在PC端浏览器中。移动前端开发则专注于移动设备,如手机和平板,其页面主要在这些设备的浏览器或应用中运行。技术适配性:Web前端在某些场景下需要兼容老版......