В верхней части стека находится прикладной уровень, на котором содержимое потока данных уже имеет значение. На этом уровне применяется ряд протоколов, в той числе такие, более или менее распространенные протоколы, как HTTP, FTP, SMTP, POP3, IMAP, SNMP, XDMCP и NNTP. Эти протоколы указывают, как клиент должен обращаться к серверу, какие сообщения разрешены для передачи и какая информация должна содержаться в каждом сообщении, причем иногда регламентируют все это вплоть до мельчайших подробностей. Сочетание протоколов сетевого и транспортного уровня известно под названием TCP/IP, в соответствии с названиями двух основных протоколов, которые функционируют на этих уровнях.
Сопоставление двоичных и текстовых протоколов. Прежде чем приступить к обмену информацией по сети, участники соединения должны сделать принципиальный выбор: обмениваться ли данными в двоичной форме либо в виде текста, пригодного для восприятия человеком. Этот выбор имеет далеко идущие последствия.
Чтобы понять, о чем идет речь, рассмотрим, как можно передать по сети число, 1984. Для передачи его в виде текста один хост (см. что такое хостинг ) должен отправить другому строку; 1984, которая в обычном наборе символов ASCII соответствует четырем шестнадцатеричным байтам 0x31 0x39 0x38 0x34. Эти четыре байта передаются последовательно по сети и появляются на другом конце соединения в виде строки “1984” (при условии, что другой хост также поддерживает код ASCII).
Однако значение 1984 может также рассматриваться как число, и в этом случае: оно может быть представлено в виде двухбайтового целого числа, которое имеет шестнадцатеричное представление 0х7С0.
Если это значение уже хранится на локальном хосте в виде числа, то кажется разумным решение передать его по сети в собственном двухбайтовом формате, вместо преобразования его в четырехбайтовое текстовое представление, последующей передачи и обратного преобразования в двухбайтовое; число на другом конце соединения. При этом будет не только уменьшен объем вычислений, но и потребность в пропускной способности сети уменьшится наполовину.