Код ответа 500 (Explorer) или 200 (Chrome) для метода openStream () в службе отдыха https

Я думаю, что стоит понять, что apply полезно для Racket или других Lisp-1. Почти во всех кодах полезно, когда у вас есть функция и множество аргументов, но вы не знаете, сколько их есть, и вы хотите вызвать функцию с этими аргументами. На практике это означает:

  • «у вас есть функция», поэтому, в частности, вы не пытаетесь оценить какую-либо макрокоманду или что-то еще специальное;
  • 'у вас есть куча аргументов означает, что у вас есть список аргументов.

Если вы знаете, сколько аргументов у вас есть, почти никогда не будет причины использовать apply, если аргументы уже список, и вы не хотите его извлекать: (apply cons l) может быть проще, чем (cons (first l) (second l)).

В частности, если вы пытаетесь вызвать функцию с одним аргументом, который вы знаете, тогда apply определенно не то, что вы хотите. И аналогично, это не то, что вы хотите, если «функция» - это макрос.


В Lisp-2 есть дополнительное использование для apply: вызов функции, которая является значением a переменная. Это необходимо, потому что, как глупый пример, (let ((x (lambda (...) ...))) ... (x ...) ...) не будет работать в Lisp-2. Lisp-2s имеют дополнительную функцию funcall, которая делает то, что делает apply, когда вы знаете количество аргументов: вам не нужно funcall в Lisp-1.


Случаи, когда eval полезны, еще реже. Есть некоторые, но почти все время это, в лучшем случае, путаница и, в худшем случае, страшная проблема безопасности: что делает

(define (terror x) (eval `(list x)))

Do, когда он называется? Ответ: что-нибудь вообще, что язык способен делать : (terror '(launch-the-nukes)), скажем.

0
задан Antonio Mori 18 January 2019 в 17:39
поделиться

1 ответ

Похоже, что Chrome отправляет дополнительные заголовки, которые отсутствуют в Explorer

из Chrome Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8

из Explorer 11:

Accept: text/html, application/xhtml+xml, image/jxr, */*

и кодировка отличается в заголовках запроса, так как chorme имеет: gzip, deflate, br , где в IE отсутствует кодировка br.

Это то, что я могу быстро увидеть с первого взгляда. Если у вас есть доступ к журналам, это внутренний 500, так что если вы можете пройти и увидеть исключение на сервере, которое даст вам лучший ответ

Редактировать : обязательно добавьте Запрос заголовки принимают application/xml, поскольку это XML-документ, который возвращается.

0
ответ дан Andrei 18 January 2019 в 17:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: