错误页面很好看,也应该返回 404
错误页可以友好展示,但响应状态仍应表达资源不存在。
继续阅读恰西 / 按主题阅读
错误页可以友好展示,但响应状态仍应表达资源不存在。
继续阅读空格、中文和 & 等字符在 URL 中拥有特定含义。参数值未经编码就拼入字符串,可能变成新的参数,甚至让服务端接收到与用户输入不同的值。
继续阅读DNS、建连、TLS 和等待响应是不同阶段,分阶段计时更容易定位瓶颈。 把总耗时拆开,能避免把 DNS 慢、TLS 慢和应用处理慢都归因于服务器性能。curl 的时间字段多为自请求开始累计的值,解释阶段时要注意差值关系。
继续阅读应用只能直接看到与它建连的那个代理地址。转发头可以携带原始来源,但这项信息必须由可信代理建立,应用也只能信任已定义的代理链。
继续阅读证书受信任和域名匹配需要同时成立,有效期也应在检查范围内。
继续阅读服务器可能已经处理请求,但浏览器不允许页面脚本读取响应。简单请求与预检请求的流程也不相同,因此控制台报错不能直接等同于接口未被调用。
继续阅读会话通常通过随机标识关联服务端状态,Cookie 只是传递标识的一种机制。 浏览器保存一个标识并不等于完成会话管理。服务端仍需要定义会话有效期、退出失效和权限检查;Cookie 属性主要限制传输与脚本访问方式。
继续阅读客户端已经保存了一份资源,条件请求只是询问这份版本是否仍可使用。服务器返回未修改后,浏览器继续使用本地正文,减少了重复传输。
继续阅读静态资源和登录后的个性化页面不应共用相同缓存设置。
继续阅读客户端接收的是一段响应数据,如何解释主要依赖媒体类型,而不是服务器磁盘上的名字。脚本被返回为错误页或文本时,浏览器可能拒绝执行。
继续阅读永久迁移与临时跳转应使用不同语义,避免客户端长期缓存错误目标。 迁移的目标是让旧地址继续对应原有内容,而不是把流量一律送回首页。保留路径关系和明确跳转语义,能让用户、缓存与搜索引擎得到一致信号。
继续阅读状态码是入口,响应头、正文特征和日志时间才帮助确认返回者。CDN、反向代理和应用都可能返回错误,处理位置不同,解决办法也完全不同。
继续阅读