前端面经7.9

165 阅读4分钟
  • http报文 http超文本传输协议,是应用层协议 http报文由客户端到服务器的请求和从服务端到客户端的响应构成
  • 组成:起始行(报文描述) 头部(报文属性) 主体(报文数据) 分类:`
  • 1.请求报文(客户端到服务端发送请求) 请求行:方法+url+http协议版本 通用信息头:Connection等 请求头 实体头:post/put/patch的Content-Type``Content-Length等 报文主体
  • 2.响应报文(服务端到客户端返回数据 状态行:状态码+原因 通用信息头:Connection等 响应头 实体头:Content-Type Content-Length等 报文主体 `
  • 常见http状态码
100 continue 已收到请求,客户端请继续
101 switching protocol 响应客户端upgrade列出协议,服务端正在切换协议
102 服务端正在处理请求,无响应可用
103 与link一起使用,客户端应在服务端继续响应前开始预加载资源
200-299 成功响应
200 请求成功常见于 GET HEAD POST TRACE
201 created 请求成功,新资源已经创建,常见于post put
202 accepted 请求已收到但未响应
203 响应经过了代理服务器修改
204 请求已处理,无返回,客户端不更新视图
205 请求已处理,无返回,客户端应更新视图
206 请求已处理,返回部分内容,常见于视频点播,分段下载,断点续传
300-399重定向
300 提供一系列地址供客户端选择重定向
301 永久重定向,默认可缓存,搜索引擎应更新链接
302 临时重定向,默认不缓存,除非显示指定
303 临时重定向,必须get请求
304 未修改,不含响应体
307 临时重定向,默认不缓存除非显示指定,不改变请求方法和请求体
308 永久重定向,默认可缓存,搜索引擎应更新链接,不改变请求方法和请求体
400-499 客户端错误
400 请求语义或参数有错误,不应重复请求
401 请求需身份验证或验证失败
403 拒绝,不应重复请求
404 未找到,无原因
405 不允许的请求方法,并返回allow允许的请求方法列表
406 无法根据请求条件返回响应体
407 请求需在代理服务器上进行身份验证
408 请求超时
409 请求冲突,响应应包含冲突原因
410 资源已被永久移除
411 请求头需要添加content-length
412 非get post请求外,if-unmodified-since或if-none-match规定先决条件无法满足,只有post和get请求的xxx规定先决条件才会满足
413 请求体数据大小超过服务器处理范围
414 url过长,查询字符串过长时应使用post请求
415 请求文件类型服务端不支持
416 请求头range与资源可用范围不重合
417 服务端无法满足客户端通过expect设置的期望响应
421 http2下链接无法复用时返回
425 请求有重放攻击风险
426 客户端应按响应头upgrade的协议列表中的协议重新请求
428 没有符合if-match的资源
429 请求频次超过服务端限制
431 请求头字段过大
451 因法律原因改资源不可用
500-511 服务端响应
500 服务端报错,通常是脚本错误
501 请求方法不被服务器支持
502 网关无响应,通常是服务端环境配置错误
503 服务端临时不可用,建议返回retry-after,搜索引擎爬虫应一段时间在此访问此url
504 网关超时,通常是服务端过载
505请求的http协议版本不被支持
506 内部服务器配置错误
510 不支持http扩展
511 需要身份验证,常见于公用wifi