Можем ли мы использовать фиксированный метод обратного вызова в jsonp, чтобы помочь кешировать ответ
У меня есть JSONP RESTful сервис, который доставляет контент на основе определенных параметров запроса. Теперь большая часть этого контента не часто меняется и может быть легко кэширована. Теперь мы используем пограничные серверы Akamai и надеемся, что многие из этих ответов будут кешироваться там. Но мы поняли, что есть проблема с тем, как конечный клиент выполняет вызов jsonp. Вот пример запроса:
http://localhost:8080/community/service/rest/getContent/jsonp?cb=jQuery18304010053557777724_1391037749519&p=test&v=2015&_=1391037760418
Как видите, параметр обратного вызова cb=jQuery18304010053557777724_1391037749519, кажется, автоматически генерируется jQuery и является уникальным для запроса. Кроме того, есть &_=1391037760418, который используется в качестве кеша. Теперь мы можем установить кеширование на false. Но есть ли способ справиться с параметром обратного вызова? Можем ли мы использовать статическое имя метода? Какие будут минусы, если мы используем статический метод и поворот кэширования? Будет ли это создавать какие-либо условия гонки для нескольких запросов?
Извините, за кучу вопросов. Я не специалист по jQuery, и мне нелегко решить проблему. Но кеширование довольно важно для нас.
Я буду признателен, если кто-нибудь может предложить решение / лучшую практику для решения этой проблемы.
Спасибо
1 ответ
На стороне клиента или сервера вы ничего не сможете сделать, чтобы решить эту проблему. Параметр обратного вызова не может быть исправлен, так как время жизни обратного вызова должно обрабатываться клиентом, который может иметь несколько запросов в полете. Однако быстрый Google для "Akamai JSONP" привел к этому
Это выглядит как код для кэширования Akamai json
и по запросу, обернуть json
как jsonp
динамически.