Сетевое программирование, что такое
В сфере it вообще не далекий, начинаю пока заниматься именно веб-программированием. Однако интересует вопрос, как работает интернет или, например, что такое сервер. По-моему, этим занимается именно сетевое программирование-что такое и с чем этим едят? Простенько
Сетевое программирование — это процесс создания программ, которые взаимодействуют через компьютерные сети, такие как интернет. Для понимания этого понятия, давай я объясню это примеру с письмами.
Представь, что ты хочешь отправить письмо другу, который живет в другом городе. Для этого тебе нужно написать письмо, положить его в конверт, указать адрес друга и отправить через почтовое отделение. После того, как письмо будет доставлено, твой друг его получит и сможет прочитать.
В сетевом программировании происходит нечто похожее, но вместо писем мы отправляем данные через компьютерные сети. Здесь есть две основные роли: клиент и сервер.
— Клиент — это твой компьютер или устройство, которое отправляет запросы (похожие на письма) серверу и ожидает ответа. Клиент может быть веб-браузером, мобильным приложением и т. д.
— Сервер — это компьютер, который принимает запросы от клиентов, обрабатывает их и отправляет обратно ответы (похожие на письма в ответ). Сервер может хранить информацию или предоставлять доступ к определенным ресурсам, таким как веб-страницы или базы данных.
Таким образом, сетевое программирование связано с созданием программ, которые позволяют клиентам и серверам обмениваться данными и взаимодействовать друг с другом через сети, такие как интернет.
Professional Professional, я занимаюсь созданием сайта через HTML и CSS это фронтенд-разработка? А что включаеи себя бэкэнд-разработка в веб программировании? Какими языками можно пользоваться? Я слышал что css в этом практикуется?
Программирование компьютерной сети
Программирование компьютерной сети включает в себя написание компьютерных программ, которые позволяют процессам взаимодействовать друг с другом в компьютерной сети.
Ориентированные на соединение и связь без установления соединения
В общем, большинство коммуникаций можно разделить d в с установлением соединения и без установления соединения. Является ли связь ориентированной на соединение или без установления соединения, определяется протоколом связи, а не интерфейсом прикладного программирования (API). Примеры протоколов с установлением соединения включают Протокол управления передачей (TCP) и Последовательный обмен пакетами (SPX), а примеры протоколов без установления соединения включают Протокол дейтаграмм пользователя ( UDP), «необработанный IP» и Межсетевой пакетный обмен (IPX).
Клиенты и серверы
Для связи с установлением соединения стороны связи обычно имеют разные роли. Одна сторона обычно ожидает входящих соединений; эту сторону обычно называют «сервер ». Другая сторона — это та, которая инициирует соединение; эту сторону обычно называют «клиент ».
Для связи без установления соединения одна сторона («сервер») обычно ожидает входящего пакета, а другая сторона («клиент») обычно понимается как та, которая отправляет незапрашиваемый пакет к «серверу».
Популярные протоколы и API
Сетевое программирование традиционно охватывает различные уровни модели OSI / ISO (большая часть программирования на уровне приложений относится к L4 и выше). В таблице ниже приведены некоторые примеры популярных протоколов, принадлежащих к разным уровням OSI / ISO, и популярные API для них.
OSI / ISO Layer | Протокол | API |
---|---|---|
L3 (сеть) | IP | Raw socket |
L4 (транспорт) | TCP, UDP, SCTP | Berkeley Sockets |
L5 (сеанс) | TLS | OpenSSL |
L7 (приложение) | HTTP | Различные |
Ссылки
- В. Ричард Стивенс: Сетевое программирование UNIX, том 1, второе издание: сетевые API: сокеты и XTI, Prentice Hall, 1998, ISBN 0-13 -490012-X