LINUX.ORG.RU

История изменений

Исправление Khronos, (текущая версия) :

Это какая-то невероятная чушь от человека который никогда с вебом дел не имел. «урл для машины» всегда был и будет в виде querystring, т.е. пары ключ-значение, разделяемые амперсандом https://example.com/page?name=ferret&color=purple

Первое - урлы будут гораздо длиннее.

Параметры page?name=ferret&color=purple в json будут

{
  "page": {
    "name": "ferret",
    "color": "purple"
  }
}

что при кодировании в base64, даже при удалении всех пробельных символов в json, даёт строку размером в 60 байт eyJwYWdlIjp7Im5hbWUiOiAiZmVycmV0IiwiY29sb3IiOiJwdXJwbGUifX0= что не идёт ни в какое сравнение с 29 байтами исходной строки.

И это только для двух параметров, а для большего числа там будут километровые строки.

Второе - вся инфраструктура выстроена под querystring, т.е. во всех вебсерверах запросы по дефолту отправляются и принимаются в этом виде, все GET и POST на любом вебсервере автоматически распарсятся. И не только на сервере, но и в js, в браузерном инспекторе и тд и тп, везде есть встроенные инструменты для работы с этим форматом. Если ты хочешь json и base64 чтобы не парсить человекопонятный урл, то надо брать именно querystring, а не городить свой велосипед.

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

Про кэширование и индексацию страниц поисковиками уже написали до меня.

Исходная версия Khronos, :

Это какая-то невероятная чушь от человека который никогда с вебом дел не имел. «урл для машины» всегда был и будет в виде querystring, т.е. пары ключ-значение, разделяемые амперсандом https://example.com/page?name=ferret&color=purple

Первое - урлы будут гораздо длиннее.

Параметры page?name=ferret&color=purple в json будут

{
  "page": {
    "name": "ferret",
    "color": "purple"
  }
}

что при кодировании в base64, даже при удалении всех пробельных символов в json, даёт строку размером в 60 байт eyJwYWdlIjp7Im5hbWUiOiAiZmVycmV0IiwiY29sb3IiOiJwdXJwbGUifX0= что не идёт ни в какое сравнение с 29 байтами исходной строки.

И это только для двух параметров, а для большего числа там будут километровые строки.

Второе - вся инфраструктура выстроена под querystring, т.е. во всех серверах запросы отправляются и принимаются в этом виде, все GET и POST на любом вебсервере автоматически распарсятся. И не только на сервере, но и в js, в браузерном инспекторе и тд и тп, везде есть встроенные инструменты для работы с этим форматом. Если ты хочешь json и base64 чтобы не парсить человекопонятный урл, то надо брать именно querystring, а не городить свой велосипед.

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

Про кэширование и индексацию страниц поисковиками уже написали до меня.