Кто отвечает за реализацию свойств методов HTTP? Это браузер или HTTP сервер или оба? - PullRequest
0 голосов
/ 01 мая 2018

Как все мы знаем, метод HTTP имеет определенные свойства, такие как идемпотентность, безопасность и возможность кэширования, и он определен через спецификацию HTTP W3C.

У меня вопрос, кто отвечает за реализацию этих свойств HTTP. Является ли клиент браузера или сервер, или браузером, и сервером, которые реализуют свойства HTTP.

1 Ответ

0 голосов
/ 01 мая 2018

Клиент что-то просит. Сервер что-то отвечает.

Чтобы оно было идемпотентным, вы должны ожидать того же ответа, если попросите то же самое. Только сервер может решить, что находится в ответе, так что это должно быть реализовано сервером.

Чтобы это было безопасно, запрос не должен изменять сервер. Только сервер может решить что-то изменить или нет на основании запроса.

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

...