Веб-сервисы являются не сохраняющими состояние?

Значение, указанное вами для $servername, не является именем хоста, а скорее URL-адресом или именем ресурса. Имя хоста будет просто www.url.com.

Конечно, как вы уже обнаружили, localhost - это правильное имя хоста, если клиент и сервер находятся в одном и том же поле.

26
задан Sundhas 22 February 2010 в 08:03
поделиться

5 ответов

Они не сохраняют никакого состояния между запросами от клиента. то есть служба не знает и не заботится о том, что последующий запрос поступил от клиента, который делал / не делал предыдущий запрос. По сути, это «дайте мне эту информацию и забудьте обо мне», которая возлагает на клиента ответственность за поддержание любого состояния.

48
ответ дан 28 November 2019 в 06:20
поделиться

Потому что веб-сервисы основаны на HTTP, который является протоколом без сохранения состояния.

Цитируя википедию :

Сервер без сохранения состояния - это сервер, который обрабатывает каждый запрос как независимую транзакцию, не связанную с каким-либо предыдущим запросом.

Т.е. каждый запрос не зависит от предыдущего: даже если мы используем некоторые «уловки», такие как, например, файлы cookie, для сохранения некоторого состояния между запросами, это не определяется протоколом.

18
ответ дан Pascal MARTIN 20 November 2019 в 07:13
поделиться

Концепция веб-службы заключается в моделировании RPC (удаленного вызова процедуры), также называемой функцией. При этом вам не нужно использовать сессию. Кроме того, идея отсутствия состояния возникает из-за необходимости масштабирования веб-серверов в ферму серверов и, следовательно, обеспечения большей емкости.

Тем не менее, выбор использования состояния зависит от технологии и разработчика. Ничто не мешает вам создать веб-службу ASP.Net и установить «EnableSession = True» в определении метода.

Это может быть полезно в некоторых базовых сценариях аутентификации, то есть для аутентификации домашних форм, или для обеспечения автоматической корреляции для недолговечных «рабочих процессов». (Однако я настоятельно призываю вас подумать, что более современные методы обеспечат более высокий уровень безопасности и производительности).

4
ответ дан Jennifer Zouak 20 November 2019 в 07:13
поделиться

Запросы независимы друг от друга.

3
ответ дан 28 November 2019 в 06:20
поделиться

Поскольку HTTP не имеет состояния. После того, как запрос клиента выполнен сервером, информация не сохраняется для использования в будущих транзакциях.

4
ответ дан 28 November 2019 в 06:20
поделиться
Другие вопросы по тегам:

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