还剩58页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
深入浅出协议HTTP理解互联网信息传递的桥梁摸透工作原理与演进HTTP面向开发、运维、测试全流程提升目录协议概述请求响应机制定义、历史与基础架构通信原理与状态管理报文结构与状态码高级特性与安全格式解析与结果标识缓存、代理与加密认证协议概述HTTP1定义超文本传输协议2诞生年由提出1991Tim Berners-Lee3地位现代通信基础Web因特网的多媒体信使数据传输页面、图片、视频等传输基于TCP确保可靠连接数据完整无串扰传输客户端与服务器Web客户端服务器交互流程浏览器爬虫存储并响应资源发起请求、接收响应/APP/资源与地址资源Web文本、图片、视频等URI统一资源标识符URL包含协议、主机、路径URN名称型标识协议的基本流程HTTP客户端请求服务器处理发送需求接收并解析无状态服务器响应每次请求独立返回结果协议版本变迁HTTPHTTP/
0.9仅支持GETHTTP/
1.0加入头部、状态码HTTP/
1.1持久连接、分块传输HTTP/2多路复用、头部压缩HTTP/3基于提升性能QUIC请求响应机制总览请求组成响应组成方法状态行••报文头•URI•版本正文••报文头•正文•请求方法详解方法用途特点获取资源参数明文GET URL提交数据数据在正文中POST替换资源幂等性操作PUT删除资源常用DELETE RESTful请求数据流与关键要素方法与URL操作类型与目标请求头元数据与控制信息与Cookie Session身份与状态保持请求体提交的实际数据响应数据流与关键要素状态码指示请求结果内容类型、等text/html image/png实际内容网页、图片等资源状态保持机制无状态本质机制机制Cookie Session设计为无状态协议客户端存储身份标识服务器端状态保存HTTP每次请求相互独立服务器通过设置通过关联用户Set-Cookie ID需要额外机制维持会话自动随请求发送提高安全性连接与基础TCP/IP804433标准端口安全端口握手次数默认端口默认端口三次握手HTTP HTTPSTCP模拟通信Telnet HTTP$telnet example.com80GET/HTTP/
1.1Host:example.comHTTP/
1.1200OKContent-Type:text/htmlContent-Length:
1256...报文结构剖析HTTP请求报文响应报文请求行状态行••头部头部••空行空行••正文正文••报文头分类与作用通用头部请求头•Date•Host•Connection•User-Agent•Cache-Control•Accept响应头实体头•Server•Content-Type•Set-Cookie•Content-Length•Location•Expires常见请求头详解Host指定主机名,支持虚拟主机User-Agent浏览器标识,适配不同客户端系列Accept内容协商,指定期望格式Authorization认证信息,身份验证常见响应头详解Server Set-LocationCookie服务器软件信重定向目标息设置客户端URLCookieContent-Type返回数据类型实体头部用法头部名称作用示例报文长度Content-Length Content-Length:348资源格式Content-Type Content-Type:text/html压缩方式Content-Encoding Content-Encoding:gzip语言Content-Language Content-Language:zh-CN请求正文与传输方式请求文件上传请求POST GET表单数据参数在中••multipart/form-data•URL内容分块传输利于缓存•JSON••二进制内容进度监控长度受限•••响应正文状态码与请求方法HTTP重定向成功客户端错误300-399200-299400-499信息性服务器错误100-199500-599常见状态码举例200OK请求成功,返回预期内容301/302永久临时重定向/404Not Found资源未找到500Server Error服务器内部错误典型状态码场景分析请求方法全览HTTPGET POST获取资源提交数据PUT DELETE替换资源删除资源HEAD OPTIONS仅获取头部测试支持方法与实战对比GET POST特点特点GET POST参数在中参数在请求体•URL•书签可保存不留历史记录••有长度限制无长度限制••适合数据读取适合数据提交••能被缓存更安全••常用场景下方法选择场景建议方法原因表单提交安全性更高POST搜索查询便于分享与缓存GET资源更新符合理念PUT REST资源删除语义明确DELETE进阶特性代理与缓存——正向代理代表客户端访问服务器反向代理代表服务器接收请求浏览器缓存提高重复访问速度正向与反向代理作用正向代理反向代理匿名访问负载均衡••访问受限资源隐藏后端结构••绕过防火墙终结••SSL统一访问控制缓存静态内容••与大规模缓存CDN强制与协商缓存机制强制缓存协商缓存•Expires•Last-Modified•Cache-Control:max-age•ETag不发请求直接使用状态码响应••304代理、网关、隧道组件代理网关隧道透明转发请求协议转换,如到在不同协议间传输数据HTTP HTTPHTTPS分块传输与大文件下载大文件分块Transfer-Encoding:chunked流式传输不需预知内容长度断点续传请求头指定范围Range长连接与并发优化
1.1650%持久连接并发上限性能提升默认特性浏览器每域名连接数减少握手开销HTTP/
1.1语义与内容协商Web客户端偏好发送头部系列Accept服务器识别根据偏好选择最佳版本自适应响应根据设备返回适合内容虚拟主机与头Host安全机制与认证加密HTTPS保护数据传输SSL/TLS证书认证验证服务器身份防中间人攻击确保通信双方可信基本认证与令牌基本认证简单但不安全,编码Base64Cookie-Session传统应用认证方式Web认证Token等无状态令牌JWTOAuth
2.0第三方授权框架与防范机制CSRF攻击防护措施CSRF利用用户已登录状态验证••CSRF Token诱导执行非预期操作检查••Referer借用受害者身份••SameSite Cookie双重验证•与内容安全XSS攻击XSS注入恶意脚本到页面同源策略限制不同源资源交互策略CSP控制资源加载来源输入验证过滤特殊字符实际案例分析HTTP网站首屏加载原理解析1DNS查找域名对应IP2连接TCP建立传输通道发送请求3请求文档HTML4接收响应获取内容HTML解析渲染5加载样式与脚本文件上传与大数据传输文件分片将大文件分成小块并行上传多个分片同时传输校验合并服务器验证并重组文件断点续传中断后继续未完成部分前后端分离与跨域跨域解决方案优点缺点标准规范需服务器配置CORS兼容性好仅支持JSONP GET代理服务器前端无感知增加部署复杂度双向通信需额外协议支持WebSocket与第三方接入OAuth
2.0用户授权获取授权码同意应用访问临时凭证令牌刷新交换令牌使用获取refresh tokenaccess token调优与访问加速CDN协议新标准HTTP特性特性HTTP/2HTTP/3多路复用基于协议••QUIC头部压缩传输层••UDP服务器推送连接••0-RTT优先级控制更好的移动支持••多路复用原理HTTP/2性能提升HTTP/
1.1HTTP/2单连接串行请求单连接并行传输页面加载速度提升30%-50%头部压缩HTTP/280%24KB压缩率索引表典型节省有效减少冗余头部静态表与动态表结合每页面请求组合推送与优先级HTTP/2请求HTML客户端请求页面主动推送服务器预测并发送资源优先级分配关键资源优先传输与协议HTTP/3QUIC基于UDP避免慢启动TCP内置加密集成TLS
1.3抗丢包改善移动网络体验连接0-RTT减少连接建立时间实际落地分析HTTP/3常见调试工具HTTP命令行工具、curl wget浏览器开发工具、Chrome DevToolsFirefox Network专业抓包工具、、Fiddler CharlesWireshark开发者常见陷阱HTTP编码问题未指定•charset乱码显示•缓存误区过度缓存•缓存失效•跨域困扰预检请求失败•头部配置错误•超时处理超时设置不合理•重试策略缺失•自动化测试与接口Mock接口测试工具服务自动化流程Mock本地集成•Postman•Mock•CI/CD在线平台回归测试•JMeter•Mock•规则定义性能监控•RestAssured••场景模拟覆盖率报告•Swagger••负载均衡与高可用负载均衡策略轮询、权重、最少连接健康检查监测服务器状态故障转移3自动切换流量会话保持确保用户体验一致未来发展趋势零信任安全WebTransport多样化传输方式持续认证授权边缘计算会话导向更靠近用户处理长连接与实时通信推荐学习资源总结与答疑核心知识回顾实践应用协议基础与演进案例解析与问题处理未来探索答疑环节持续学习与关注发展开放提问与讨论。
个人认证
优秀文档
获得点赞 0