В приложениях B/S взаимодействие данных между фронтом и бэкэндом завершается через форму в HTML. Форма предоставляет два способа передачи данных - получить и публиковать. Хотя они оба являются способами представления данных, они действительно очень разные, когда они фактически передаются и могут оказать серьезное влияние на данные. Хотя веб -контейнер заблокировал некоторые различия между ними, чтобы облегчить получение значений переменных, было бы полезно понять различия между ними в будущем программировании.
Методы GET и POST в форме соответствуют методам GET и POST в протоколе HTTP соответственно во время передачи данных. Основные различия между ними следующие:
1. GET используется для получения данных с сервера, в то время как POST используется для передачи данных на сервер.
2. GET добавляет данные в форму в URL -адрес, указанный действием в переменной форме = значение, и оба используют "?" Для подключения, в то время как «&» подключается между каждой переменной; POST предназначен для размещения данных в форму в корпусе данных и передает их на URL -адрес, указанный действием, как переменная и значение соответствуют значению.
3. get небезопасно, потому что во время процесса передачи данные помещаются в запрошенный URL. В настоящее время многие существующие серверы, прокси -серверы или пользовательские агенты записывают запрошенной URL -адрес в файл журнала, а затем поместят его куда -нибудь, чтобы третьи лица могли увидеть некоторую информацию о конфиденциальности. Кроме того, пользователи также могут непосредственно увидеть представленные данные в браузере, и некоторые внутренние системные сообщения будут отображаться перед пользователем. Все операции поста невидимы для пользователя.
4. Количество данных, передаваемых GET, невелико, что в основном связано с ограничением длины URL; и Post может перенести большой объем данных, поэтому вы можете использовать Post только при загрузке файлов (конечно, есть другая причина, которая будет упомянута позже).
5. Получите ограничение значения набора данных форм форм, чтобы быть символами ASCII; в то время как POST поддерживает весь набор символов ISO10646.
6. get - это метод формы по умолчанию.
Подводить итоги:
Получить метод: передавать параметры данных в самой строке URL и могут быть прочитаны непосредственно из переменной 'Query_string' на стороне сервера. Это эффективно, но не имеет безопасности и не может обрабатывать сложные данные (это могут быть только строки, например, в сервлете/JSP, он не может обрабатывать функции Java, такие как вектор);
Метод публикации: с точки зрения метода передачи, параметры будут упакованы и переданы в панели Datagram и считываются из переменной среды content_length, что удобно для передачи более крупных данных. В то же время, поскольку данные не выявляются в адресной строке браузера, безопасность относительно высока, но такая эффективность обработки будет повлияла.