浏览器 - http相关

93 阅读3分钟
  • 网络模型
  • websoket
  • 输入url到渲染过程
  • 强缓存、协商缓存
  • 网络攻击:xss、csrf
  • 三次握手、四次挥手
  • 状态吗
  • https

1、请求方式

  • GET:用于请求指定资源
  • POST:
    • 向指定资源提交数据(例如:表单提交、文件上传)
    • 数据被包含在请求体中
  • PUT:
    • 用于更新资源或创建资源(上传文件)
    • PUT 方法是幂等的,调用一次或连续多次调用效果是相同的(类似get请求)
  • DELETE:删除指定资源
  • HEAD:
    • 请求资源的头信息
    • 与 GET 类似,但不返回消息体,通常用于测试超链接的有效性
  • OPTIONS:
    • 用于查询目标资源支持的方法
    • 通常用于 CORS 中预检请求、检查服务器允许的 HTTP 方法
  • PATCH:
    • 用于对目标资源的部分修改
    • 是对 PUT 方法的补充,用来更新部分资源的内容
  • TARCE:
    • 用于回显服务器收到的请求
    • 主要用于测试或诊断
  • CONNECT:
    • 用于客户端要求用隧道协议连接代理
    • 主要用于 SSL 加密服务器的中间代理

2、常见状态码

  • 2XX:成功
    • 200:请求成功
    • 204:响应报文中无实体,一般是 post、put、delete、head 等操作
    • 206:客户端进行了范围请求,响应报问中含 Content-Range
  • 3XX:重定向
    • 301:永久重定向,请求的资源被分配了新的 URI
    • 302:临时重定向,请求的资源被分配了新的 URI,本次使用新的 URI
    • 304:在某种条件下,可以直接使用本地缓存
  • 4XX:客户端
    • 400:请求报文中存在语法错误
    • 401:用户认证失败
    • 403:请求资源被服务器拒绝
    • 404:无法找到对应的资源
  • 5XX:服务器端
    • 500:服务器端执行时发生的错误
    • 503:服务器处于超负荷或维护状态

3、常见 Content-Type (MIME媒体类型)

  • text:文本

    • text/plain:文本文件默认值
  • application:二进制数据

    • application/octet-stream:除文本文件外的其它文件默认值
    • application/json:json文件
  • multipart 类型

    • multipart/form-data:表单的 post 请求
  • 数据请求中常用的三种类型

    • multipart/form-data:post 提交 form 表单数据
    • application/json:post 提交 json 格式的数据
    • application/x-www-form-data-urlencoded:get、post 传递 key-value 格式的数据

3、常见头信息

通用字段

Cache-Control

  • 作用:控制缓存的行为
  • 格式:Cache-control: private, max-age-0, no-cache
  • 缓存请求指令
    • no-cache:强制向源服务器再次请求,缓存文件、不影响下次走'协商缓存'
    • no-store:不缓存请求或响应的任务内容
    • max-age:响应的最大 Age 值
  • 缓存响应指令
    • public:向任意方提供响应的缓存
    • private:仅向特定用户返回响应
    • no-cache:同上
    • no-store:同上

Transfer-Encoding

  • 作用:规定了传输报文主体时采用的编码方式
  • 格式:Transfer-Encoding: chunked // 分块传输编码
请求首部字段

Accept

  • 作用:通知服务器能够处理的媒体类型
  • 格式:Accetp:text/plain;q=0.3, text/html // 发我 html 格式,如没有发 text 也行

Authorization

  • 作用:告知服务器,用户的认证信息(token)
  • 格式:Authorization: Basic dwVub3NljpwXYzd.....
实体首部字段

Content-Type

  • 作用:说明实体主题内对象的媒体类型
  • 格式:Content-Type:text/html;charset=UTF-8

Expires

  • 作用:资源失效的日期

  • 格式:Expires:Web, 04 Jul 2012 08:26:05 GMT