字节跳动青训营--前端day5

news2024/10/9 18:17:12

文章目录

  • 前言
  • 一、初识HTTP
    • 拓展—输入地址到页面渲染发生了哪些事情
  • 二、协议分析
    • 1.发展
    • 2.报文
      • 2.1 请求报文:
        • 请求行:
        • 请求头
        • 主体
      • 2.2 响应报文:
        • 状态行
        • 响应头
        • 响应正文
      • 2.3缓存
    • 3.发展
      • 3.1 Http2
      • 3.2 Https


前言

仅以此文章记录学习历程


一、初识HTTP

HTTP (HyperText Transfer Protocol)

  • 超文本运输协议:是实现网络通信的一种规范
  • 是应用层协议,基于TCP协议
  • 分为请求响应两个部分
  • 简单可拓展(支持自定义,如:header等)
  • 是无状态协议

拓展—输入地址到页面渲染发生了哪些事情

在这里插入图片描述
详细了解地址:web前端面试系列(这是我觉得讲的比较详细的一篇文档了)

二、协议分析

1.发展

在这里插入图片描述

2.报文

  • 客户端发送的叫请求报文
  • 服务器发送的叫响应报文
    请添加图片描述

如上图:主要分为三部分:

2.1 请求报文:

请求行:

主要分为三个部分:请求方法请求路径http的版本

请求方法:(前4为常用方法)
在这里插入图片描述

请求头

HTTP header fields。指在HTTP的请求响应消息中的消息头部分

作用:它们定义了一个超文本传输协议事务中的操作参数

请求头作用
Host指明了请求将要发送到的服务器主机名和端口号
User-Agent用户代理;可以用来区分软件类型,操作系统,手机还是浏览器,软件开发商等
Accept接收类型,表示浏览器支持的MIME类型(对标服务端返回的Content-Type)
Connection决定当前的事务完成后,是否会关闭网络连接
Upgrade-Insecure-Requests表示客户对加密和认证响应的偏好
Content-Type客户端发送出去实体内容的类型
Content-Length客户端发送出去实体内容的长度
Cache-Control指定请求和响应遵循的缓存机制,如no-cache
lf-Modified-Since对应服务端的Last-Modified,用来匹配看文件是否变动,只能精确到1s之内
lf-None-Match对应服务端的ETag,用来匹配文件内容是否改变 (非常精确)
Expires缓存控制,在这个时间内不会请求,直接使用缓存,服务端时间
Max-age代表资源在本地缓存多少秒,有效时间内不会请求,而是使用缓存
Cookie有cookie并且同域访问时会自动带上
Referer该页面的来源URL(适用于所有类型的请求,会精确到详细页面地址,csrf拦截常用到这个字段)

HTTP头部字段可以自己根据需要定义

主体

常用于post和put等请求传递参数

2.2 响应报文:

状态行

主要分为三个部分:http版本状态码状态信息
常见状态码:
在这里插入图片描述

响应头

响应头作用
Server指明了服务器应用程序软件的名称和版本
Content-Type服务端返回的实体内容的类型
Content-Length服务端返回的实体内容的长度
Date报文创建的日期和时间
Keep-Alive连接的状态(可以用来设置超时时长和最大请求数)
Connection决定当前的事务完成后,是否会关闭网络连接
Age对象在缓存代理中存贮的时长
Last-Modified请求资源的最后修改时间
Expires应该在什么时候认为文档已经过期,从而不再缓存它
Max-age客户端的本地资源应该缓存多少秒,开启了Cache-Control后有效
ETag资源的特定版本的标识符,Etags类似于指纹
Set-Cookie设置和页面关联的cookie,服务器通过这个头部把cookie传给客户端
Access-Control-Allow-Origin服务器端允许的请求Origin头部 (警如为*)

响应正文

通常用来返回响应体

2.3缓存

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.发展

3.1 Http2

相比之前版本更快、更稳定、更简单

  • HTTP/2连接都是永久的,而且仅需要每个来源一个连接
  • 流控制:阻止发送方向接收方发送大量数据的机制
  • 服务器推送

新增特性:

  • 多路复用:在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应,这样就避免了”队头堵塞”
  • 二进制分帧:采用二进制格式传输数据,而非 HTTP 1.x的文本格式,解析起来更高效
  • 首部压缩:在客户端和服务器端使用“首部表”来跟踪和存储之前发送的键值对,对于相同的数据,不再通过每次请求和响应发送
  • 服务器推送:这种方式非常合适加载静态资源,免得客户端再次创建连接发送请求到服务器端获取

3.2 Https

HTTPS : Hypertext TransferProtocol Secure
经过TSL/SSL加密

加密类别:

  • 对称加密:加密和解密都是使用同一个密钥
  • 非对称加密:加密和解密需要使用两个不同的密钥:公钥 (public key)和私钥 (private key)
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/190943.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kubernetes核心概念 Service

kubernetes核心概念 Servicekubernetes核心概念 Service一、 service作用二、kube-proxy三种代理模式2.1 UserSpace模式2.2 iptables模式2.3 ipvs模式2.4 iptables与ipvs对比三、 service类型3.1 service类型3.2 Service参数四、 Service创建4.1 ClusterIP类型4.1.1 普通Cluste…

1月安全月报 | 2亿Twitter用户数据被公开;美计划发起“黑掉五角大楼3.0”漏洞赏金计划

目录 国外安全热点 👉安全政策 👉数据安全 👉市场趋势 👉勒索事件 国内安全热点 👉数据安全 👉业务安全 👉移动安全 👉网安政策 为了让大家更全面的了解网络安全的风险&am…

精读JavaScript中的代理(Proxy)与反射(Reflect)

目录 定义与概念 属性及函数 Proxy Reflect 使用场景 如何实现 实现过程 运行效果 应用限制及优点 写在最后 定义与概念 JavaScript中的Proxy与Reflect是ES6中引入的新特性,它们可以帮助我们更高效地控制对象。 代理(Proxy)是一种…

元宇宙哪些吓死人的概念话题

元宇宙哪些吓死人的概念话题 深层的奥秘:人是符号及符号的意义驱动的 趣讲大白话:现有概念再有东西 ************** **元宇宙与跨学科 2.1 元宇宙与交叉学科 2.2 元宇宙与哲学 2.3 元宇宙与文学 2.4 元宇宙与艺术学 2.5 元宇宙与电影学 2.6 元宇宙与传播…

【面向对象】构造函数与析构函数详解

构造函数与析构函数详解 文章目录构造函数类型参考博客😊点此到文末惊喜↩︎ 构造函数 类型 默认构造函数(缺省构造函数) 一个类中只能出现一个默认构造函数在调用时,不需要传入实参。因为默认构造函数通常是无参的或所有形参都…

射频信号探测器制作

射频信号探测器制作一、元件要求二、芯片参数三、原理剖析四、实验思路五、实物展示、使用六、个人总结一、元件要求 CD4001,是四2输入或非门。或非门的逻辑关系特点是只有当输入端全部为低电平时,输出端为高电平状态;在其余输入情况下&…

TCP-IP协议基础知识

1、简介 tcp/ip:通信协议的统称,是IP,ICMP,TCP,UDP,HTTP,TELNET,SNMP,SMTP等协议的集合 TCP/IP和OSI的关系 OSI属于ISO(国际化标准组织)制定的通信系统标准,但是并没有普及;TCP/IP是非ISO制定的某种国际…

详谈ORB-SLAM2的局部建图线程LocalMapping

ORB-SLAM2的局部建图线程LocalMapping分为5个步骤,非常简单。当得到缓冲队列里的关键帧,第一步处理当前关键帧的地图点关系等;第二步判断地图点是否为新创建,如果是那就进入测试,测试地图点的好坏,如果不好…

【关于Linux中----信号】

文章目录一、信号入门1.1 信号概念1.2 用 kill-l命令查看信号列表1.3 信号处理常见方式预览二、产生信号2.1 通过终端按键产生信号2.2 由于程序中存在异常产生信号2.3 系统接口调用产生信号2.4 软件条件产生信号三、阻塞信号3.1 信号相关常见概念补充3.2 在内核中的表示3.3 sig…

编码技巧——JDK版本切换/JDK7和JDK6下的文件输入输入

最近有使用低版本JDK实现文件输入输出的需求,主要是妹子计算机专业考研复试上级算法题,输入输入依赖文件而非纯算法代码,并且IDE一般使用JDK8以下的SDK,导致一些JDK8的API不适用;较早版本的JDK API代码是操作一大堆的缓…

jenkins部署过程

Jenkins 安装 示例服务器为 阿里云 CentOS 服务器。安全组中增加 8080 端口 Jenkins 默认占用 Jenkins 安装大体分两种方式,一种使用 Docker 另一种则是直接安装,示例选择后者。不管使用哪种方式安装,最终使用层面都是一样的。 Linux安装过…

Linux下源码安装nginx

一 安装步骤 nginx在linux下的源码安装,步骤还是比较简单的,主要分为以下 1. 下载安装包,这里选择:nginx-1.18.0.tar.gz 下载地址:http://nginx.org/en/download.html 2. 安装前置环境: yum install -y…

苹果手机字体大小怎么设置?简单实用,轻松学会

使用苹果手机的时候,发现苹果手机的字体看起来不是很舒服,想要将字体调大一点,却不知道怎么办。苹果手机字体大小怎么设置?其实方法很简单,今天小编就来具体的讲一下调整苹果手机字体大小的方法。 苹果手机字体大小怎么…

智能工厂中的设备如何实现远程监控和故障报警

智能工厂是在数字化工厂内,利用物联网技术和云计算计算加强设备信息管理水平,提高生产过程可控性、减少生产线人工干预,保证安全稳定的生产节奏,助力构建高效、节能、绿色、舒适、安全的工厂。 物通博联推出的智能工厂设备物联网…

C语言及算法设计课程实验四:选择结构程序设计

C语言及算法设计课程实验四:选择结构程序设计一、实验目的二、实验内容2.1、根据x的分段函数求对于的y值2.2、求小于1000正数的平方根2.3、百分制等级输出2.4、四个整数的顺序输出三、实验步骤3.1、选择结构程序设计实验题目1:根据x的分段函数求对于的y值…

四、GStreamer基础

本章介绍GStreamer的基本概念。理解这些概念对于阅读本指南的其他任何内容都是很重要的,它们都假定理解了这些基本概念。 元素 元素是GStreamer中最重要的一类对象。你通常会创建一个链接在一起的元素链,并让数据在这个元素链中流动。元素有一个特定的…

运动耳机有必要买吗、口碑最好的运动耳机品牌排行

冬天绝对是个减肥的好季节,因为这个季节天气比较冷,我们在运动过程中消耗的热量也就会更多,因此选择一款不错的运动耳机来用坚持就显得尤为重要了。这款运动耳机要能稳定在耳朵上,还要具备防水功能,同时音质上也要有保…

gd32f103vbt6 串口OTA升级-问题记录

今天研究了一下gd32单片机串口OTA升级的事情。我感觉ota的唯一好处就是不用调试器就可以下载(更新)单片机应用程序。(但是需要232串口,OTA程序我是使用stlink下载的!!) 可能有些同学要问,32的单片机本身就…

【综合】数字IC设计需要考虑的时序参数;Race Hazard;同步系统时序要求;建立时间、保持时间;偏斜;抖动;毛刺、竞争冒险;亚稳态

【综合】数字IC设计需要考虑的时序参数;Race Hazard;同步系统时序要求;建立时间、保持时间;偏斜;抖动;毛刺、竞争冒险;亚稳态数字设计时需要考虑的时序参数传播延迟 propagation delay, 上升时间…

十一、树结构的实际应用—堆排序

1、基本介绍 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最好最坏平均时间复杂度均为O(n\log n) 。也不是稳定排序。堆是具有以下性质的完全二叉树:每个节点的值都大于或等于其左右孩子节点的值,…