前面说到了filelib:is_dir这函数,如果是目录,则执行true流程,进入mochiweb_request:maybe_redirect/4这函数

然后根据第一个参数是否是[],调用不同的分支

mochiweb源码分析(七)

回到之前说的true、false判断,如果是文件,则调用mochiweb_request:maybe_serve_file/3

mochiweb源码分析(七)

首先:LastModified = httpd_util:rfc1123_date(FileInfo#file_info.mtime),这里根据读取到的文件信息中的最后一次写的时间,来生成一个rfc1123 date

获取到日期以后,接着调用:mochiweb_request:get_header_value/2函数传递头部信息判断日期是否已存在.

若存在返回304代码,304代码解释如下:

HTTP 304 Response 当一个客户端(通常是浏览器)向web服务器发送一个请求,如果web服务器返回304响应,则表示此请求的本地缓存是最新的,可以直接使用

如不存在则打开文件mochiweb_request:ok/2是用响应状态行、响应头部、空行和消息体组成响应报文发给客户端。

相关文章:

  • 2021-12-26
  • 2022-12-23
  • 2021-09-07
  • 2021-11-07
  • 2021-11-19
  • 2022-02-25
  • 2021-07-28
  • 2022-01-17
猜你喜欢
  • 2021-12-09
  • 2021-11-01
  • 2021-05-26
  • 2021-07-27
  • 2021-12-09
  • 2021-11-19
  • 2022-01-18
相关资源
相似解决方案