В чем разница между постоянно перезагружаемыми и не так часто перезагружаемыми сайтами?

587
Lazer

Это один из способов классификации сайтов:

а) те, которые перезагружаются по каждому небольшому вопросу - вы добавляете комментарий - они перезагружаются, обновляется текущий счет - они перезагружают всю страницу, а не только счет ...

б) такие, как superuser.com, эти сайты не перезагружаются, когда в этом нет необходимости, например, добавление комментария и т. д.

Я считаю, что вторые удобны, я думаю, что все делают. Так почему же не все делают такие сайты?

Технически, где разница между двумя упомянутыми мною типами?

4
Причина, по которой вы не видите больше сайтов второго типа, заключается в том, что это сложнее сделать и требует больше работы. Тем не менее, благодаря инструментам, которые делают все это очень простым (например, jQuery), ожидайте, что в ближайшие годы все больше веб-сайтов получат преимущества Ajax. Почти каждый «новый» сайт, на котором я был, использовал его. Sasha Chedygov 14 лет назад 0

3 ответа на вопрос

7
ChrisF

Сайты, похожие на суперпользователя использовать технику, называемую АЯКС это обозначает A синхронной J avaScript А - й X ML. Это означает, что они могут обновлять части веб-страницы без перезагрузки всей страницы. Это то, что делают другие сайты. Сайты, использующие AJAX, должны работать быстрее, так как им не нужно отправлять все данные для страницы каждый раз, когда что-то меняется.

В Википедии есть статья, которая, вероятно, является хорошей отправной точкой, но в Интернете есть много ресурсов.

Мне больше нравится ваш ответ, поэтому я добавлю его в комментариях, а не добавлю свой собственный ответ ... Roy Rico 14 лет назад 0
Я думаю, что важно упомянуть, что методы AJAX предоставляют множество функциональных возможностей для обычных пользователей, но также представляют некоторые недостатки для пользователей, которым нужен веб-сайт, который будет доступен для людей с ограниченными возможностями (известный как доступный в терминах веб-разработки). Многие интересные сайты могут предоставлять интерфейс AJAX, не беспокоясь о доступности. Однако более серьезные сайты (банки, коммунальные услуги) должны обеспечивать доступность, поэтому для создания приятной функциональности AJAX им придется выполнять вдвое больше работы, поэтому многие компании не считают это экономически эффективным. (хотя есть некоторые разногласия по этому поводу) Roy Rico 14 лет назад 1
Еще одна причина, по которой сайты не используют AJAX, может заключаться в том, что сайт был создан до того, как многие методы AJAX стали массовыми, или текущие разработчики не знакомы с методами AJAX (или их руководство не одобрило их для обновления). Roy Rico 14 лет назад 1
Помните, что X в AJAX означает JSON Sam Hasler 14 лет назад 0
3
seanyboy

AJAX-программирование позволяет динамически обновлять элементы страницы. Однако AJAX имеет ряд недостатков по сравнению с отображением веб-страницы. Они включают:

  • Их сложнее программировать. Программирование AJAX намного сложнее, и, как следствие, люди будут избегать этого, если не будут этого делать.
  • У них есть «Сторона клиента» и «Код на стороне сервера». Помимо написания кода на стороне сервера для отображения страницы, вы также должны написать код, который запускается в браузере (Internet Explorer и т. Д.) Для выполнения динамических обновлений. Это займет больше времени и сложнее разобраться.
  • Стандарты браузера. Некоторые веб-браузеры (например, упомянутый выше Internet Explorer) ведут себя по-разному в соответствии с определенными стандартами и другими веб-браузерами (например, Firefox). Старые браузеры могут вообще не работать с AJAX. Мобильные браузеры (на вашем телефоне) также могут не работать с AJAX или работать с подмножеством AJAX. Из-за этого может быть лучше, чтобы ваши веб-страницы работали во всех браузерах и не использовали AJAX.
  • AJAX все еще довольно новый. Из-за этого многие программисты не знают, как создавать динамические веб-страницы. Кроме того - на старых веб-страницах / веб-сайтах не будет AJAX. Наконец, в настоящее время не хватает обучения и документации в отношении способа работы AJAX.

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

ДОМ: объектная модель документа. Проще говоря, он определяет, как AJAX-программа находит место на странице для добавления / изменения нового элемента (например, комментария). Опять же, DOM и то, как вы к нему обращаетесь, отличается от браузера к браузеру. Когда вы слышите, как люди стонут о том, что плохой браузер IE6, это потому, что доступ к его DOM (а) сломан (б) сложен в использовании и (в) отличается от любого другого браузера.

(+1) для DOM. На самом деле вы можете говорить об этом. Это лежит в основе сценариев на стороне клиента. A Dwarf 14 лет назад 0
2
A Dwarf

Технически, где разница между двумя упомянутыми мною типами?

В то время как AJAX является распространенной причиной в наши дни, суть ответа - скрипты на стороне клиента . В конце концов, AJAX - это не что иное, как сценарии на стороне клиента, и есть множество других способов внести изменения и обновить веб-страницу без необходимости обновления. (Смотрите DOM в ответе seanyboy ).

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

«Веб-сайты, которые предоставляют сценарии, которые выполняются на клиентском компьютере (JavaScript является распространенной технологией), позволяют обрабатывать и изменять контент без необходимости использования сервера в обоих направлениях». но предположим, что я добавляю комментарий на superuser.com, тогда должен быть сервер туда и обратно, потому что комментарий должен быть сообщен серверу ?? Lazer 14 лет назад 0
Определенно. И для этого вы использовали сценарии на стороне клиента, используя технику AJAX :) OTOH, если вы хотите нажать кнопку комментария и поле комментария, чтобы развернуть его без перезагрузки страницы, вы используете сценарии на стороне клиента, но вам не нужно использовать технику AJAX. Итак, в основе ваших способностей лежит природа языка сценариев. Сценарии на стороне клиента допускают такие вещи. A Dwarf 14 лет назад 0