为什么要求服务器请求资产不要去公共索引..?

时间:2018-04-01 10:00:53

标签: php server resources response

假设我正在使用laravel或任何其他框架。问题是,如果laravel是 public index.php 文件,任何对服务器的请求都将转到特定文件。

例如

Route::get('posts' , 'PostController@index')
Route::get('\post\{post}\comments' , 'CommentController@index')

如果我们使用laravel,这两个请求都将落在 public index.php 上。但是当来自html <img src="www.yourdomain.com/storage/image.jpg" />的请求只是到达存储目录并从中拉出图像时。

  1. 我想知道的是为什么img请求不会转到 public index.php 在这种情况下
  2. 我还要看一下php GET请求,以便使用file_get_contents('http/something/img.jpg')从其他服务器获取资源(图像/文件等),但人们在某些情况下会访问像这样的文件因某些问题而被拒绝。什么可能导致请求失败我无法得到。出于什么原因,我们使用stream_context_create创建了一个流上下文file_get_contents来读取文件

    1. 我完全理解 Cross origin ,但重点是我们不要求任何脚本文件。如果我们想下载图像。如何通过交叉原点保护图像,如果受到保护,使用stream_content_create
    2. 的含义是什么?

      请有人给我一些关于这两点的简要说明。
      谢谢

1 个答案:

答案 0 :(得分:0)

  1. 当您的HTML文件引用外部文件时,例如<img src="https://example.com/img.jpg">浏览器将获取请求的图像并将其呈现给视图。 src="x"有一些选项
    • src="image.jpg"
    • src="/image.jpg"
    • src="https://external-link.com/image.jpg
  2. 要了解上述3个搜索relative pathabsolute path之间的差异。

    1. 有时,您请求的HTTP服务器会选择忽略来自跨站点的请求,这意味着,不是运行该站点的HTTP服务器。