2009-06-10 2 views
1

Мне было интересно, проведет ли кто-нибудь тестирование разностей скорости cURL и XHR (относительно времени, которое требуется для завершения запроса или серии запросов).XmlHttpRequest vs cURL

В частности, мне интересно, потому что я хотел бы использовать XHR для перехода на php-скрипт и использовать cURL оттуда, чтобы захватить ресурс. Страница php гарантирует, что данные будут в правильном формате и изменятся, если это не так. Я бы хотел, чтобы это не выполнялось на конце javascript, потому что я понимаю, что если компьютер пользователя работает медленно, он может занять значительно больше времени.

Если это имеет значение, все данные будут извлекаться локально.

+3

Если все данные являются локальными, почему вы используете HTTP для его получения? – acrosman

+0

Мне все равно нужно передать элементы вместе с данными, и пусть это будет обработано. «Данные» - это скрипты, которые выполняют и возвращают ответ. –

ответ

4

Существует не разница в скорости между ними. Вы сравниваете HTTP-запрос с HTTP-запросом. Для наших целей они делают то же самое, только один делает это в JavaScript и один в PHP. Наличие цепочки займет вдвое больше (вероятно, больше), так как вы делаете запрос на свой сервер, а затем ваш сервер делает запрос на другой сервер.

Я не понимаю, почему вы не хотели бы просто получить ресурс с помощью JavaScript и отказаться от медианы. Я не вижу никаких проблем с этим. (Если ваши данные не находятся в другом домене, тогда это становится сложнее, но это все еще возможно.)

+0

Я понял, что оба являются HTTP-запросами, но я думал, что могут быть различия в том, как они реализованы. В итоге у вас есть тот же результат, но может быть много способов добраться до таких. Но на основании этого я предполагаю, что они реализованы почти одинаково с той точкой, где они выполняются и заканчиваются одновременно? –

+0

Ну, очевидно, что они не совсем то же самое, но различия незначительны, и вам не нужно беспокоиться о них. –

1

Если я правильно понял вопрос, разница будет в том, что XmlHttpRequest будет на стороне клиента (javascript), а cURL будет быть на стороне сервера (PHP)

Это повлияло бы на производительность так или иначе, в зависимости от того, где находится ресурс (вы говорите локально), и сколько одновременных запросов вы получите.