Web|术语大全的庖丁解牛
总纲Web全称World Wide Web万维网。它不是互联网本身是运行在互联网之上的一套超文本信息系统核心依靠HTTP/HTTPS协议、URL、HTML实现浏览器和Web服务器之间的资源请求与展示。整套体系分为客户端浏览器、传输协议、服务端、资源、安全、性能、部署七层。我们日常打开网页、接口请求、静态资源加载全部属于Web体系。一、Web基础核心术语WWW World Wide Web万维网基于超文本构建的分布式信息系统由无数网页、资源互相链接组成互联网Internet是底层网络Web是互联网上最经典的应用二者不能等同。Web客户端发起请求的一端最典型就是浏览器也包括curl、axios、Postman、PHP程序、爬虫这类HTTP客户端。Web服务器监听端口、接收HTTP请求、返回资源的服务程序。如Nginx、Apache、Caddy。区分硬件服务器是机器Web服务器是上面运行的软件。超文本 Hypertext文本里面嵌入链接点击跳转至其他文档是Web最原始的核心思想不只是纯文字可以包含图片、视频。超媒体 Hypermedia超文本的扩展除文字链接外图片、音频、视频都可以作为跳转载体。资源 ResourceWeb里一切可被访问的对象html页面、css、js、图片、接口API、文件每一份资源都拥有唯一标识URL。二、URL/URI 定位相关术语URL Uniform Resource Locator统一资源定位符用来定位互联网上Web资源的完整地址也就是网页地址。结构协议://域名:端口/路径?查询参数#锚点URI Uniform Resource Identifier统一资源标识符资源的唯一标识URL属于URI的子集。URI负责标识资源URL负责定位资源在哪。Scheme 协议常见http://、https://、ws://Host 主机域名或者IP代表Web服务器地址Port 端口HTTP默认80HTTPS默认443URL里默认端口可以省略不写Path 路径服务器上资源路径/article.php、/index.htmlQuery 查询串?id1type2键值对形式传递请求参数后端PHP、Java读取Fragment 锚点 #后面内容仅浏览器识别不会发给Web服务器用于页面内跳转域名 Domain方便人类记忆映射到服务器IP域名系统DNS负责域名→IP解析。子域名如blog.example.com顶级域名 TLD.com.org.cn三、传输协议术语HTTP HyperText Transfer Protocol 超文本传输协议Web应用层协议基于TCP客户端和服务器之间请求响应模型明文传输。HTTP/1.1最广泛旧版本长连接、管线化存在队头阻塞HTTP/2二进制分帧多路复用头部压缩解决队头阻塞HTTP/3底层基于QUICUDP减少握手延迟弱网体验更好HTTPS HTTP TLS/SSL。HTTP流量加密证书校验身份端口443。TLS传输层安全协议替代老旧SSL完成握手、密钥协商、数据加解密SSL证书服务器身份凭证CA机构签发。请求-响应模型 Request-Response一问一答客户端发请求服务器返回响应HTTP是无状态协议。无状态 Stateless服务器默认不会记住两次请求之间的用户信息需要Cookie、Session、Token来维持会话。四、HTTP报文相关术语请求报文请求行请求方法 URL HTTP版本。GET /index.html HTTP/1.1请求头 Request Headers键值对描述客户端信息User-Agent、Cookie、Referer、Content-Type、Accept请求体 Request BodyPOST/PUT携带的数据GET没有请求体。表单、JSON、上传文件放在body。响应报文状态行HTTP版本 状态码 描述文本1xx 信息类100继续2xx 成功200 OK、201创建成功3xx 重定向301永久重定向、302临时重定向、303、304协商缓存4xx 客户端错误400参数错误、401未认证、403禁止访问、404资源不存在、405方法不允许5xx 服务端错误500服务器内部错误、502坏网关、503服务不可用、504网关超时响应头 Response HeadersContent-Type、Content-Length、Set-Cookie、Cache-Control、ETag响应体 Response Body返回的资源内容HTML、JSON、图片二进制数据。请求方法GET获取资源参数放在URL查询串不修改服务器数据POST提交资源新增数据请求体传参PUT全量更新资源PATCH局部更新资源DELETE删除资源OPTIONS预检请求CORS跨域HEAD只拿响应头不要响应体探测资源五、前端资源标记语言术语HTML HyperText Markup Language 超文本标记语言页面结构标签描述内容不是编程语言。CSS Cascading Style Sheets 层叠样式表控制页面样式、布局JavaScript JS浏览器端脚本语言实现页面交互、动态渲染也可运行在服务端NodeJS。DOM Document Object Model 文档对象模型浏览器把HTML文档解析成树状对象JS操作DOM实现页面动态修改。BOM Browser Object Model 浏览器对象模型window、location、history操作浏览器窗口。渲染 Render浏览器解析HTML、CSS绘制页面到屏幕静态资源html、css、js、图片、字体文件内容不变适合缓存。六、会话、身份认证术语Cookie服务器Set-Cookie下发保存在浏览器后续请求自动携带在请求头有域名、路径、过期时间、Secure、HttpOnly、SameSite属性。Session服务端会话Cookie一般存sessionid服务器内存/数据库保存用户会话数据。Token常见JWT JSON Web Token。自包含身份凭证放在Header无服务端存储适合前后端分离、API接口。SessionId会话唯一标识。单点登录SSO一套账号跨多个Web系统登录。七、缓存相关术语Web性能核心强缓存Cache-Control、Expires。没过期浏览器直接读本地缓存不发请求到服务器。协商缓存资源到期发请求给服务器校验。依靠Last-Modified、ETag。服务器返回304浏览器复用本地缓存。ETag资源唯一指纹资源变化指纹改变。Last-Modified资源最后修改时间。八、跨域与安全术语同源策略 Same-Origin Policy浏览器安全规则协议、域名、端口三者全部相同才算同源。不同源的前端JS默认无法读取对方响应防止恶意网站窃取数据。CORS Cross-Origin Resource Sharing 跨域资源共享服务端添加响应头允许指定域名跨域访问接口OPTIONS预检请求。XSS 跨站脚本攻击注入JS代码窃取Cookie。分存储型、反射型、DOM型。防御htmlspecialchars、CSP。CSRF 跨站请求伪造利用用户已登录Cookie诱导访问恶意页面发起请求。防御CSRF Token。CSP 内容安全策略响应头限制页面加载资源来源防御XSS。点击劫持 ClickJackingiframe嵌套页面诱导点击。防御X-Frame-Options。SQL注入Web接口输入恶意SQL攻击后端数据库。文件上传漏洞上传可执行脚本到Web目录拿到服务器权限。九、Web服务端 架构术语静态Web资源预先写好文件服务器直接返回文件不执行代码。动态Web收到请求后服务器执行代码PHP/Java/Python动态生成页面内容。article.php?id5就是动态网页。CGI / FastCGIWeb服务器Nginx和后端语言解释器通信协议PHP-FPM就是FastCGI实现。反向代理 Reverse ProxyNginx接收外网请求转发给后端PHP服务对外暴露代理隐藏真实后端服务器。正向代理 Forward Proxy客户端上网代理比如科学上网代理。负载均衡 Load Balance流量分发多台后端Web服务器分担压力。API Application Programming InterfaceWeb API就是HTTP接口返回JSON/XML前后端分离使用。RESTful API一套接口设计规范用HTTP方法表达增删改查资源用名词。前后端分离后端只输出JSON接口前端独立渲染页面。传统模式服务端直接渲染HTML叫服务端渲染SSR。SSR 服务端渲染服务器拼接完整HTML返回浏览器SEO友好。SPA 单页应用 Single Page Application前端JS在浏览器渲染页面不刷新Vue/React常用。十、性能、网络、运维术语首屏加载 FCPFirst Contentful Paint首次内容绘制前端性能指标。RTT Round Trip Time往返时间请求到响应来回耗时。CDN 内容分发网络静态资源缓存到遍布各地边缘节点用户就近访问降低延迟。压缩 Gzip / Brotli服务端压缩HTML、JS、CSS减少传输字节。Keep-Alive 长连接TCP连接复用一次握手连续多次HTTP请求减少握手开销。队头阻塞HTTP1.1管线化下前面请求没返回后面请求被卡住。Websocket ws/wss全双工长连接服务端可以主动推送消息聊天室、实时告警。十一、误区澄清Web ≠ 互联网互联网是底层网络Web是跑在互联网上的应用。邮件、FTP不属于Web。HTTP无状态 ≠ 不能记住用户只是协议本身不保存状态靠Cookie、Session、Token上层机制实现。同源策略是浏览器的限制。curl、PHP后端程序调用跨域接口不受同源策略约束。反向代理和Web服务器经常是同一个软件Nginx既是Web静态服务器又是反向代理。后端PHP开发视角总结Web整套链路浏览器构造HTTP请求 → DNS解析域名得到IP → TCP三次握手建立连接 → HTTP请求到达Nginx → 静态资源直接返回动态PHP请求交给PHP-FPM执行业务代码查询数据库生成页面/JSON原路返回响应。日常排查Web问题分层定位DNS解析、TCP连通、HTTP状态码、请求头响应头、跨域、缓存、Cookie会话、后端代码异常。安全开发重点防范XSS、CSRF、SQL注入、文件上传漏洞。