HTTP实用指南

HTTP实用指南

01.初始HTTP

当我们在浏览器地址栏输入一个网址或者关键字,它会给我们跳转到对应的网页,在这一过程中,内部到底是怎么运作的?

在这里插入图片描述

总结上述图片过程,用流程图来表示,如下:

处理输入信息 → 发起请求 →服务器接收请求 →浏览器读取服务器的响应 →DOM树 CSS树渲染 →页面加载完成

HTTP在计算机网络的层次结构上,属于应用层。底层是基于TCP的。

什么是HTTP?

HTTP全称为超文本传输协议。总结下来,就是如下特点:

  • 无状态
  • 应用层协议,基于TCP协议
  • 简单可扩展(可以设置请求头之类的)
  • 请求 响应

02.HTTP协议分析

HTTP发展历程:

在这里插入图片描述

HTTP/2在2015年,68%的公司都采用了。

报文

Requests method方法

GET 请求一个指定资源的表示形式,使用GET的请求应该只被用于获取数据
POST 用于将实体提交到指定的资源,会修改服务器那边的状态。典型应用:注册账号,修改密码
PUT 用请求的信息替换目标资源的当前信息
DELETE 删除指定的资源
HEAD 请求一个和GET请求的响应相同的响应,但没有响应体
CONNECT 建立一个到由目标资源标识的服务器的隧道
OPTIONS 用于描述目标资源的通信选项
TRACE 沿着目标资源的路径执行一个消息环回测试
PATCH 用于对资源应用部分的修改

在我们前端开发的过程中,用的比较多的已经用高亮部分表示出来了。

上述大致可以自身特点分为两类:

Safe: 不会修改服务器那边的数据 GET HEAD OPTIONS

幂等:==同样的请求被连续执行一次和执行多次==的效果都是一样的。服务器的状态也是一样的 GET HEAD OPTIONS PUT DELETE。


状态码

  • 1**:指示信息,表示请求已经接收,需要继续处理,所以一般不会以1开头
  • 2**:成功,表示请求已经被成功接收,理解,接受 。例如 200 OK - 客户端请求成功
  • 3**:重定向,要完成请求必须进一步的操作。301 资源被永久转移到其它URL 302 临时跳转
  • 4**:客户端错误,请求有语法错误或者请求无法实现。 401 没有授权 404 资源找不到
  • 5**:服务器错误,服务器未能实现合法的请求。 500 服务器内部发生了不可预期的错误。

REST ful 接口风格

在这里插入图片描述

常用请求头

在这里插入图片描述

因为HTTP是无状态的,唯一让它有状态的处理方法就是Cookie

User-Agent 常用于获取用户是PC 移动 还是Android

常用响应头

在这里插入图片描述

缓存

分为强缓存和协商缓存

在这里插入图片描述

协商缓存通过对比Last-Modified/if-Modified-Since的时间,看文件是否更新。从而决定是否使用缓存。

浏览器的缓存调用机制

在这里插入图片描述

cookie

在这里插入图片描述

JavaScript有些获取cookie的api。HttpOnly可以避免这个情况发生。

HTTP/2

更快,更简单,更稳定。

HTTPS

加密。但这个加密的时间需要一定的时间损耗。

在这里插入图片描述

3.场景分析

案例一:

在这里插入图片描述

状态码200一定是发送了请求吗?还有可能是来自本地的缓存。

案例二:

如何更高地去提交用户体验:

在这里插入图片描述

案例三:

对于聊天室这样要求实时通信的情况下,我们HTTP已经不能满足要求了。需要使用webSocket—浏览器与服务器进行双向的动作。

猜你喜欢

转载自blog.csdn.net/qq_62860882/article/details/128740655
今日推荐