- เรามาพูดถึงเครือข่ายกันสักหน่อย
- พิจารณาโครงสร้างของไคลเอ็นต์เซิร์ฟเวอร์และสถาปัตยกรรมสามระดับ
- มาดูโปรโตคอล HTTP/HTTPS กัน
- มาเรียนรู้ทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับ Maven กันดีกว่า
- มาพูดถึงเซิร์ฟเล็ตกันดีกว่า
- ภาชนะเซิร์ฟเล็ต
- และสุดท้าย - เกี่ยวกับ MVC
ส่วนที่ 1 มาพูดคุยกันเล็กน้อยเกี่ยวกับเครือข่าย
เริ่มต้นด้วยสิ่งที่สำคัญที่สุดและพูดคุยเกี่ยวกับพื้นฐานที่สร้างเครือข่ายโซเชียลบริการเว็บและแอปพลิเคชันผู้ส่งข้อความด่วนและไซต์ธรรมดาทั้งหมด - เกี่ยวกับเครือข่าย ( ในบริบทของบทความชุดนี้คำว่า "เครือข่าย" หมายถึง อินเทอร์เน็ตทั่วโลก ) เครือข่ายประกอบด้วยคอมพิวเตอร์จำนวนมาก: เชื่อมต่อกันและสามารถสื่อสารได้ สิ่งสำคัญคือต้องเข้าใจว่าพวกเขาทำเช่นนี้ได้อย่างไร เนื่องจากเว็บแอปพลิเคชันคือสิ่งที่พวกเขาทำในการถ่ายโอนข้อมูลจากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่งแบบจำลองเครือข่าย OSI
โมเดล OSI (การเชื่อมต่อระหว่างระบบเปิด) สร้างแนวทางแบบเลเยอร์เพื่อสร้างเครือข่าย มันแสดงให้เห็นอย่างชัดเจนว่าสมาชิกของเครือข่ายเดียวกันสามารถโต้ตอบกันได้อย่างไรและในระดับใด โดยรวมแล้วโมเดลนี้มี 7 ระดับ:7 | สมัครแล้ว |
6 | การเป็นตัวแทน |
5 | การประชุม |
4 | ขนส่ง |
3 | เครือข่าย |
2 | ท่อ |
1 | ทางกายภาพ |
-
1. ระดับกายภาพ - ที่นี่กฎของฟิสิกส์ทำหน้าที่ของมัน และหน้าที่ของมนุษย์คือการใช้และควบคุมสิ่งนี้เพื่อจุดประสงค์ของเขาเอง เช่น การสร้างสายเคเบิลและวางให้กับสมาชิกเครือข่าย
เราไม่สนใจ.
-
Data link layer - รับผิดชอบในการส่งข้อมูลไปยังโหนดเครือข่ายและสร้างช่องทางการส่งข้อมูลบนวัตถุทางกายภาพ
Нам не интересен, если только нет желания писать прошивку для каналообразующей аппаратуры.
-
Сетевой уровень — для определения addressов отдельных пользователей сети и маршрутов к ним. На этом уровне стоит остановиться подробнее, а именно — на addressе пользователя в сети.
Он определяется специальным протоколом: самый распространённый — IPv4 (Internet Protocol version 4). Именно его нужно использовать веб-программисту для обращения к другому абоненту сети.
IPv4 состоит из четырех byteовых значений, разделенных точкой, например: 192.0.2.235. Стоит помнить, что значения byteовые, а значит, они лежат в пределах 0..255.
IP-address, в свою очередь, делятся на классы, и просто так присвоить себе красивую комбинацию циферок не получится, но так сильно углубляться мы не станем. Достаточно понимать, что IP-address — это уникальный идентификатор абонента в сети, по которому мы сможем к нему обратиться.
-
Транспортный уровень — занимается доставкой информации addressту. Для этого используются разные протоколы, которые нам пока не интересны. Гораздо больше нас интересует понятие, которое появляется на этом уровне, — port.
Порты отвечают за идентификацию конкретного applications на компьютере. Например, ты написал чат на Java, установил на 2 компа и хочешь отправить своему собеседнику. Твое сообщение упаковывается, отправляется по конкретному IP-addressу, доставляется твоему собеседнику, но его ПК не знает, что делать с полученной информацией, так How не понимает, Howое приложение должно обработать твое сообщение. Для этого и указываются порты при общении абонентов в сети.
Порт представляет собой число от 0 до 65535. Он добавляется к IP-addressу после двоеточия: 192.0.2.235:8080. Но нельзя использовать все порты из указанного диапазона: часть из них зарезервирована под операционную систему, еще часть принято использовать с конкретно оговоренной целью. В преднаmeaning разных портов углубляться не будем, пока достаточно понимать их роль в процессе общения в сети.
-
Сеансовый уровень — создает и управляет сеансами связи приложений. На этом уровне становится возможным взаимодействие приложений, отправка requestов служебного уровня. Для нас важно знать, что на этом уровне между двумя абонентами открывается сессия (session), с которой нам часто придется работать.
Сессия — сущность, которая создается при установке связи между двумя пользователями. В ней можно сохранять нужную нам информацию о юзере, об истории их взаимодействия. Важной деталью является то, что при остановке обмена информацией сессия не пропадает, а сохраняет свое состояние на протяжении установленного промежутка времени, поэтому пользователи могут продолжить обмен информацией после перерыва.
หากแอปพลิเคชันสื่อสารกับผู้ใช้หลายคนพร้อมกัน จำนวนการเชื่อมต่อที่เหมาะสมและเซสชันจะถูกสร้างขึ้น แต่ละเซสชันมีตัวระบุที่ไม่ซ้ำกัน (ID)ซึ่งช่วยให้แอปพลิเคชันสามารถแยกแยะระหว่างผู้ใช้ที่มีการสื่อสารด้วยได้
-
ชั้นการนำเสนอ - รับผิดชอบในการเข้ารหัส/ถอดรหัสข้อมูล แน่นอนว่าหากเราต้องการส่งสตริง “Hello web” ไปยังผู้ใช้รายอื่น สตริงนั้นจะถูกแปลง (เข้ารหัส) เป็นรหัสไบนารี่ก่อน จากนั้นจึงส่งเท่านั้น เมื่อถึงปลายทาง ข้อความจะถูกแปลงกลับ (ถอดรหัส) และผู้รับสามารถเห็นสตริงต้นฉบับได้ การกระทำเหล่านี้เกิดขึ้นในระดับการนำเสนอ
-
Application Layerเป็นเลเยอร์ที่น่าสนใจที่สุดสำหรับเรา อนุญาตให้แอปพลิเคชันโต้ตอบกับเครือข่าย ในระดับนี้เราจะได้รับ ส่งข้อความ ส่งคำขอไปยังบริการและฐานข้อมูลระยะไกล
มีโปรโตคอลมากมายที่ใช้ในระดับนี้: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET และแน่นอนว่า HTTPS โปรโตคอลคือข้อตกลงสากลที่เราปฏิบัติตามเมื่อเขียนข้อความ เราจะพูดถึงโปรโตคอล HTTP/HTTPS แยกกันและละเอียดยิ่งขึ้นอย่างแน่นอน

- ที่อยู่ IP—ที่อยู่ของผู้สมัครสมาชิกบนเครือข่าย
- พอร์ต — ที่อยู่แอปพลิเคชันของผู้สมัครสมาชิกเฉพาะ
- เซสชันเป็นเอนทิตีที่มีอยู่ตลอดการสื่อสารทั้งหมดระหว่างสมาชิกสองคน
- โปรโตคอลแอปพลิเคชัน (HTTP/HTTPS) เป็นกฎที่จะแนะนำเราเมื่อเขียนและส่งข้อความ
DNS (ระบบชื่อโดเมน)
ดังที่เราได้ทราบไปแล้ว สมาชิกแต่ละคนบนเครือข่ายมีที่อยู่ที่ไม่ซ้ำกัน หากเรากำลังพูดถึงแอปพลิเคชัน ที่อยู่เฉพาะของแอปพลิเคชันนั้นจะเป็นIPv4: port เมื่อทราบที่อยู่นี้แล้ว คุณจะสามารถเข้าถึงแอปพลิเคชันได้โดยตรง ลองจินตนาการว่าเราเขียนเว็บแอปพลิเคชั่นที่แสดงอุณหภูมิอากาศเฉลี่ยในทุกประเทศแบบเรียลไทม์ เราปรับใช้บนเซิร์ฟเวอร์ที่มีที่อยู่ 226.69.237.119 และบนพอร์ต 8080 เพื่อให้ผู้ใช้รับข้อมูลจากเรา เขาต้องป้อนตัวเลข 5 ตัวในเบราว์เซอร์: 226.69.237.119:8080 จริงๆ แล้วผู้คนไม่ชอบจำชุดตัวเลข ไม่ใช่ว่าเราทุกคนจะจำหมายเลขโทรศัพท์ได้มากกว่าสองหมายเลข นั่นเป็นสาเหตุที่ ระบบชื่อโดเมนถูกคิดค้นขึ้น เราสามารถสร้าง “นามแฝง” สำหรับที่อยู่ของเราได้ เช่น world-temperature.com และแทนที่จะค้นหาเราโดยใช้ที่อยู่ห้าหลัก ผู้ใช้สามารถพิมพ์ชื่อโดเมนของเราลงในแถบที่อยู่ของเบราว์เซอร์ได้ เพื่อให้ตรงกับ ชื่อโดเมนและที่อยู่จริง มีเซิร์ฟเวอร์ DNS เมื่อผู้ใช้เข้าสู่ javarush.ru ในเบราว์เซอร์ คำขอของเขาจะถูกส่งไปยังเซิร์ฟเวอร์ DNS ซึ่งจะกลายเป็นที่อยู่จริง
GO TO FULL VERSION