栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

HTTP指南

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

HTTP指南

HTTP 初识

HTTP 协议:Hyper Text Transfer Prototcal,超文本传输协议,在计算机网络中属于应用层协议,基于传输层的 TCP 协议。特点有基于请求返回响应、简单可扩展、无状态。

HTTP 协议工作流程

HTTP 协议分析

HTTP 协议的发展

HTTP 报文分析

Method

安全的(safe)Method:不会修改服务器的数据的方法:GET、HEAD、OPTIONS幂等的(idempotent)Method:同样的请求被执行一次与连续执行多次效果是一样的,服务器的状态也是一样的,所有 safe 的方法都是 idempotent 的:GET、HEAD、OPTIONS、DELETE

状态码

RESTful API

常用请求头

常用响应头

缓存

缓存使用过程

cookie

cookie 是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。cookie 使基于无状态的 HTTP 协议记录稳定的状态信息成为了可能cookie 主要用于以下三个方面:

会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息)个性化设置(如用户自定义设置、主题等)浏览器行为跟踪(如跟踪分析用户行为等)

HTTP/2

更快、更稳定、更简单帧是 HTTP/2 通信的最小单位,每个帧都包含帧头,也会标识出当前帧所属的数据流二进制编码(HTTP1.x 的解析是基于文本的)header 压缩,HTTP/2使用 encoder 来减少需要传输的header大小,通讯双方各自 cache 一份 header fields 表,既避免了重复header的传输,又减小了需要传输的大小交错发送,接收方重组织消息:与逻辑请求或响应消息对应的完整的一系列帧数据流:已建立的连接内的双向字节流,可以承载一条或多条消息HTTP/2 连接都是永久的,而且仅需要每个来源一个连接流控制:阻止发送方向接收方发送大量数据的机制

HTTPS:Hypertext Transfer Protocol Secure

经过 TSL/SSL 加密对称加密:加密和解密都是使用同一个密钥;非对称加密:加密和解密需要使用公钥和私钥两个不同的密钥HTTPS 协议使用对称加密和非对称加密混用的加密方法
HTTP 常见场景

静态资源

静态资源解决方案:缓存 + CDN + 文件名hashCDN(Content Delivery Network):通过用户就近性和服务器负载的判断,CDN 确保内容以一种极为高效的方式为用户的请求提供服务文件名hash 为了防止因缓存而出现的静态资源不更新的问题

跨域解决方案

CORS
代理服务器

同源策略是浏览器的安全策略,不是 HTTP 协议的
Iframe 通信,问题较多,很少使用

常见场景:网站登录后,下次进入网站怎么记录得到用户状态信息

Session + cookie (鉴权)
JWT(JSON web token)

常见场景:子应用如何做到自动登录(不同的网站,例如头条官网跳转到头条号网站,用户自动登录)

SSO(Single Sign On,单点登录)
HTTP 实际应用

浏览器 AJAX 之 XHR(XMLHttpRequest)

浏览器 AJAX 之 Fetch

XMLHttpRequest 的升级版使用 Promise模块化设计,Response,Request,Header 对象通过数据流处理对象,支持分块读取

Node 标准库之 HTTP、HTTPS

默认模块,无需安装其他依赖功能有限/不是十分友好

常用请求库之 axios

支持浏览器、node 环境内置 Promise,有丰富的拦截器

网络优化

预解析、预连接



稳定性

重试是保证稳定的有效手段,但要防止加剧恶劣情况缓存合理使用,作为最后一道防线

HTTP 扩展

WebSocket

浏览器与服务器进行全双工通讯的网络技术典型场景:实时性要求高例如聊天室,游戏等URL 使用 ws:// 或 wss:// 等开头

QUIC:Quik UDP Internet Connection 基于 UDP,应用暂不多

0-RTT 建联(首次建联除外)类似 TCP 的可靠传输类似 TLS 的加密传输,支持完美前向安全用户空间的拥塞控制,最新的 BBR 算法支持 h2 的基于流的多路复用,但没有 TCP 的 HOL 问题前向纠错 FEC类似 MPTCP 的 Connection migration

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/715827.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号