小编dec*_*eze的帖子

会话真的违反了R​​ESTfulness吗?

在RESTful API中使用会话是否真的违反了R​​ESTfulness?我看到很多意见朝着两个方向发展,但我不相信会话是无REST的.在我看来,我的观点是:

  • RESTfulness不禁止身份验证(否则在RESTful服务中几乎没有用)
  • 通过在请求中发送身份验证令牌(通常是标头)来完成身份验证
  • 此身份验证令牌需要以某种方式获取并可能被撤销,在这种情况下需要续订
  • 验证令牌需要由服务器验证(否则它不会是身份验证)

会话如何违反这一点?

  • 客户端,会话使用cookie实现
  • cookies只是一个额外的HTTP标头
  • 可以随时获取和撤销会话cookie
  • 如果需要,会话cookie可以有无限的生命周期
  • 会话ID(身份验证令牌)在服务器端验证

因此,对于客户端,会话cookie与任何其他基于HTTP头的身份验证机制完全相同,除了它使用Cookie头而不是Authorization其他专有头.如果cookie值服务器端没有附加会话,为什么会产生影响呢?只要服务器表现为 RESTful ,服务器端实现就不需要关注客户端.因此,cookie本身不应该使API无REST,而会话只是客户端的cookie.

我的假设是错的吗?什么使会话cookie RESTless

cookies rest session restful-authentication

472
推荐指数
4
解决办法
12万
查看次数

客户端和服务器端编程有什么区别?

我有这个代码:

<script type="text/javascript">
    var foo = 'bar';
    <?php
        file_put_contents('foo.txt', ' + foo + ');
    ?>

    var baz = <?php echo 42; ?>;
    alert(baz);
</script>
Run Code Online (Sandbox Code Playgroud)

为什么这不会在我的文本文件中写入"bar",但警告"42"?


注意:此问题的早期修订明确是关于服务器上的PHP和客户端上的JavaScript.问题和解决方案的本质是相同的任何对当一个客户端上运行的语言和其他服务器上.当你看到有关特定语言的答案时,请考虑到这一点.

javascript php server-side client-side

471
推荐指数
3
解决办法
4万
查看次数

如何在PHP中对数组和数据进行排序?

此问题旨在作为有关在PHP中排序数组的问题的参考.很容易认为您的特定情况是独一无二的,值得一个新问题,但大多数实际上是本页面上其中一个解决方案的微小变化.

如果您的问题与此问题的副本相同,请仅在您能够解释为何与以下所有问题明显不同时才要求重新打开您的问题.

如何在PHP中对数组进行排序?
如何在PHP中对复杂数组进行排序?
如何在PHP中对对象数组进行排序?


  1. 基本的一维数组; 含.多维数组,包括 对象数组; 含.基于另一个排序一个数组

  2. 使用SPL排序

  3. 稳定的排序

有关使用PHP现有函数的实际答案,请参阅1.,有关排序算法的学术详细答案(PHP的函数实现以及您可能需要哪些非常复杂的案例),请参阅参考资料2.

php arrays sorting spl object

283
推荐指数
5
解决办法
6万
查看次数

如何获取PHP字符串的最后7个字符?

我怎样才能抓住下面字符串的最后7个字符?

例如:

$dynamicstring = "2490slkj409slk5409els";
$newstring = some_function($dynamicstring);
echo "The new string is: " . $newstring;
Run Code Online (Sandbox Code Playgroud)

哪个会显示:

The new string is: 5409els
Run Code Online (Sandbox Code Playgroud)

php string

252
推荐指数
6
解决办法
29万
查看次数

参考:什么是变量范围,哪些变量可以从哪里访问,什么是"未定义变量"错误?

注意:这是在PHP中处理变量范围的参考问题.请关闭符合此模式的许多问题中的任何一个.

什么是PHP中的"变量范围"?一个.php文件中的变量是否可以在另一个中访问?为什么我有时会得到"未定义的变量"错误?

php scope

163
推荐指数
2
解决办法
5万
查看次数

签署Windows EXE文件

我有一个EXE文件,我想签名,以便Windows不会警告最终用户有关"未知发布者"的应用程序.我不是Windows开发人员.有问题的应用程序是从生成屏幕保护程序应用程序的应用程序生成的屏幕保护程序.因此,我对文件的生成方式没有影响.

我已经发现我需要来自Verisign或instantssl.com 等CA代码签名证书.我不明白的是我需要做什么(如果可能的话)签署我的EXE文件.什么是简单的解释?

Mel Green的回答让我更进一步,但是signtool要我指定在任何情况下使用哪种证书.我可以以某种方式获得免费的代码签名证书来测试这对我是否有用吗?

另请注明哪种证书类型是正确的.大多数网站只提到"代码签名",并谈论签署用户实际编译的应用程序.对我来说情况并非如此.

windows exe sign certificate

157
推荐指数
9
解决办法
16万
查看次数

参考:mod_rewrite,URL重写和"漂亮的链接"解释

"漂亮的链接"是一个经常被要求的主题,但它很少被完全解释.mod_rewrite是制作"漂亮链接"的一种方法,但它很复杂,其语法非常简洁,难以理解,文档假定HTTP具有一定程度的熟练程度.有人可以用简单的术语解释"漂亮的链接"是如何工作的以及如何使用mod_rewrite来创建它们?

其他常见名称,别名,干净网址术语:RESTful URL,用户友好的URL,SEO友好的URL,Slugging,MVC url(可能用词不当)

apache .htaccess mod-rewrite friendly-url

138
推荐指数
4
解决办法
3万
查看次数

$(document).click()在iPhone上无法正常工作.jQuery的

此功能在IE,Firefox和Chrome上完美运行,但在iPhone上,只有在点击时才能使用<img>.点击页面(在img上的任何地方)都不会触发事件.

$(document).ready(function () {
  $(document).click(function (e) {
    fire(e);
  });
});

function fire(e) { alert('hi'); }
Run Code Online (Sandbox Code Playgroud)

HTML部分非常基础,不应该是一个问题.

有任何想法吗?

javascript iphone jquery click onclick

110
推荐指数
4
解决办法
15万
查看次数

Haskell Web开发的生态系统是什么?

受到这个问题和最近事件的启发,我想知道Haskell Web开发涉及什么.

  • 是否有任何Haskell Web框架或模板引擎?
  • 如何托管Haskell网站,是否有合适的Web服务器?
  • 对于通常用于Web开发的常规快速开发和基于原型设计的工作流程,Haskell是否过于复杂?
  • 是否有现有Haskell Web应用程序的示例?

haskell

80
推荐指数
5
解决办法
2万
查看次数

Chunk.entrypoints:使用Chunks.groupsIterable并通过instanceof Entrypoint过滤

尝试启动我的应用时,我看到以下错误...

> css-modules@1.0.0 start /Users/johnnynolan/Repos/css-modules
Run Code Online (Sandbox Code Playgroud)

webpack && open index.html

(node:5706) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
/Users/johnnynolan/Repos/css-modules/node_modules/webpack/lib/Chunk.js:802
        throw new Error(
        ^

Error: Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead
    at Chunk.get (/Users/johnnynolan/Repos/css-modules/node_modules/webpack/lib/Chunk.js:802:9)
    at /Users/johnnynolan/Repos/css-modules/node_modules/extract-text-webpack-plugin/dist/index.js:176:48
    at Array.forEach (<anonymous>)
    at /Users/johnnynolan/Repos/css-modules/node_modules/extract-text-webpack-plugin/dist/index.js:171:18
    at AsyncSeriesHook.eval [as callAsync] (eval at create (/Users/johnnynolan/Repos/css-modules/node_modules/tapable/lib/HookCodeFactory.js:24:12), <anonymous>:7:1)
    at AsyncSeriesHook.lazyCompileHook [as _callAsync] (/Users/johnnynolan/Repos/css-modules/node_modules/tapable/lib/Hook.js:35:21)
    at Compilation.seal (/Users/johnnynolan/Repos/css-modules/node_modules/webpack/lib/Compilation.js:1203:27)
    at hooks.make.callAsync.err (/Users/johnnynolan/Repos/css-modules/node_modules/webpack/lib/Compiler.js:547:17)
    at _err0 (eval at create (/Users/johnnynolan/Repos/css-modules/node_modules/tapable/lib/HookCodeFactory.js:24:12), <anonymous>:11:1)
    at _addModuleChain (/Users/johnnynolan/Repos/css-modules/node_modules/webpack/lib/Compilation.js:1054:12)
    at processModuleDependencies.err (/Users/johnnynolan/Repos/css-modules/node_modules/webpack/lib/Compilation.js:980:9)
    at _combinedTickCallback …
Run Code Online (Sandbox Code Playgroud)

javascript npm webpack

69
推荐指数
4
解决办法
4万
查看次数