Apa itu Web Server? Lalu Bagaimana cara kerjanya
WEB SERVER
Web Server adalah server yang digunakan untuk berkomunikasi dengan Web Browser sebagai klien dan protokol komunikasi yang digunakan dalam hal ini adalah HTTP (HyperText Transfer Protocol). Inilah sebabnya mengapa Web Server juga disebut HTTP Server.Sebelum pindah ke membahas bagaimana Web Server bekerja, lebih baik untuk memahami apa sebenarnya itu HTTP. Jika Anda tidak tahu itu, boleh anda mencari di mesin pencarian.
Algoritma web server |
Cara Kerja Web Server
Bagaimana cara kerja Web Server? Seperti
halnya dengan comunication client-server, dalam hal ini juga klien
(yaitu, Web Browser) dan server (yaitu, HTTP / Web Server) harus dapat
berkomunikasi satu sama lain dengan cara yang ditentukan. Ini telah ditetapkan seperangkat aturan yang membentuk dasar dari
komunikasi biasanya disebut sebagai protokol dan dalam hal ini protokol
yang mendasari akan HTTP. Terlepas
dari bagaimana client atau server telah dilaksanakan, akan selalu ada
cara untuk membentuk HTTP Permintaan berlaku untuk klien untuk bekerja
dan juga server harus mampu memahami Permintaan HTTP yang dikirim ke
sana dan membentuk Tanggapan HTTP valid semua Permintaan HTTP tiba. Kedua
klien dan server mesin juga harus dilengkapi dengan kemampuan membangun
hubungan satu sama lain (dalam hal ini akan menjadi TCP koneksi yang
handal) untuk dapat mentransfer Permintaan HTTP (client -> server)
dan HTTP Tanggapan (server -> client).Bagaimana
hal ini dapat dilakukan, tergantung pada berbagai faktor termasuk
faktor yang sangat penting - apa pilihan bahasa pemrograman. Mari kita lihat Java sebagai bahasa pemrograman disini. Sekarang muncul pertanyaan - Bagaimana kita dapat menerapkan Web Server khas dengan menggunakan Java?
Oke ... mari kita mencobanya. Untuk Web Server untuk bekerja dengan sempurna, kita perlu klien untuk membentuk dan mengirim Permintaan HTTP yang valid untuk itu. Jadi, Web Browser (client dalam hal ini) harus juga dibahas bagaimana dapat memiliki kemampuan kinerja yang dibutuhkan. Mari kita menganggap bahwa browser ini juga sedang dilaksanakan di Jawa saja. Bahasa pilihan lainnya untuk mengembangkan Web Browser adalah C ++ dan kami menggunakan Socket mengimplementasikan kemampuan yang disebutkan di atas dalam Web Browser. Pelaksanaan Sockets di C ++ sangat mirip dengan yang di Jawa (setidaknya konseptual). Java membuat pelaksanaan keseluruhan relatif lebih sederhana dan itulah satu-satunya perbedaan kita akan melihat.HTTP bangunan Permintaan dan transfer dengan klien (yaitu, oleh Web Browser). Dalam hal ini, Browser akan menggunakan kelas java.net.Socket untuk membangun dirinya sebagai salah satu titik akhir dari komunikasi pada koneksi yang handal TCP (titik akhir lainnya akan contoh Socket lain dikembalikan oleh menerima () metode kelas ServerSocket di server). Untuk menciptakan socket dan mampu berkomunikasi dengan mesin, kita perlu mengetahui dua hal - IP Address dan Port Number. Dalam kasus kami, bagian dari URL akan membantu kita mendapatkan alamat IP dari server dan untuk protokol HTTP port default diasumsikan 80.
The DNS server memberikan alamat IP untuk URL yang valid masuk ke address bar dari khas Web Browser. Anda dapat memasukkan alamat IP langsung juga, tapi itu akan tentu saja akan sangat sulit untuk mengingat IP Addresses dan tentu saja mereka tidak akan begitu cukup jelas (dibandingkan dengan URL yang khas).Jadi, jika kita ketik www.google.com di address bar browser web, maka Socket akan mungkin dibuat menggunakan construtor 'Socket umum (String host, port int)' dan pernyataan akan sesuatu yang mirip dengan 'Socket socket = Socket baru ("www.google.com", 80); '. Setelah penciptaan sukses dari Socket contoh, klien akan dapat mengirim / menerima aliran byte hanya dengan menggunakan OutputStream / InputStream terkait dengan Socket misalnya. HTTP Request dibuat dengan memeriksa mesin klien (untuk HTTP Request Header) dan URL (untuk Metode HTTP dan URI dari sumber daya yang diminta). Setelah klien telah berhasil menciptakan HTTP Request valid, itu akan menggunakan koneksi TCP menggunakan Socket (pada mesin klien) dan ServerSocket (di mesin server ... kita akan membahasnya berikutnya) objek untuk mentransfer HTTP meminta kepada Web Server.
Baca juga : Perbedaan HTTP dengan HTTPS)
HTTP bangunan Respon dan transfer dengan server (yaitu, oleh Web Server)Web Server perlu mendengarkan permintaan sambungan yang dibuat oleh berbagai klien dan juga harus dilengkapi dengan kemampuan menerima Permintaan HTTP, memahami permintaan, membentuk Responses HTTP yang sesuai, dan akhirnya mentransfer ke mesin klien yang sesuai. Web Server dapat menggunakan benda java.net.ServerSocket untuk melakukan semua tugas-tugas ini. Ini mungkin menggunakan salah satu konstruktor dari 'ServerSocket public (port int, int backlog, InetAddress bindAddr)' ini kelas. Berikut pelabuhan menentukan nomor port di mana objek ServerSocket akan mendengarkan; backlog menentukan jumlah maksimum permintaan antri sebelum objek ServerSocket akan mulai menolak setiap Permintaan HTTP lebih masuk; dan bindAddr menentukan Alamat IP dari mesin di mana objek ServerSocket ini akan mendengarkan permintaan masuk. Jadi, itu biasanya alamat loopback yakni, '127.0.0.1'.Setelah kami siap dengan ServerSocket misalnya bekerja, kita dapat memanggil metode contoh memiliki tanda tangan sebagai 'Socket publik menerima () throws IOException' untuk mendengarkan permintaan sambungan yang dibuat oleh mesin klien ke server ini. Metode ini blok sampai sambungan dibuat dan setelah itu mengembalikan sebuah objek Socket baru, yang membentuk titik akhir kedua dari komunikasi antara klien dan server. Jika ada Security Manager di mesin server maka metode checkAccept () disebut dengan socket.getInetAddress (). GetHostAddress dan socket.getPort () sebagai parameter, di mana 'socket' adalah Socket contoh baru kembali dikembalikan oleh menerima ( ) metode. Jika checkAccept () kembali metode sebagai operasi yang akan diizinkan maka hanya kita bisa melangkah lebih jauh jika tidak SecurityException akan dibangkitkan dan komunikasi akan dihentikan seketika.
(Baca juga: Teknik belajar HTML dasar)
Jika Manajer Keamanan memungkinkan operasi maka baru dibuat Socket misalnya akan digunakan untuk mengambil InputStream dan OutputStream yang terkait dengan itu, yang Web Server pada akhirnya akan digunakan untuk membaca Permintaan HTTP dari dan untuk menulis Response HTTP untuk. Sangat penting untuk memahami di sini bahwa os InputStream Socket hal ini hanyalah sebuah replika dari OutputStream dari Socket misalnya pada akhir klien. Apapun yang tertulis di sana hanya ditransfer dengan menggunakan komunikasi TCP handal. Demikian pula, OutputStream terkait dengan Socket contoh di server akan menjadi replika dari InputStream terkait dengan contoh Socket pada akhir klien. Kami tidak perlu melakukan apa-apa tambahan dari menciptakan Socket contoh pada akhir klien dengan parameter yang sesuai, menciptakan contoh ServerSocket di akhir server, sebut menerima () metode ion ServerSocket hal ini, dan menggunakan kembali Socket misalnya oleh menerima metode () untuk membaca dan menulis Permintaan HTTP dan Response. Segala sesuatu yang lain adalah diurus oleh kelas perpustakaan paket java.net.
(Baca juga : pengertian dan manfaat internet)
Jadi sederhana, bukan? Itulah keindahan Java! Web Server ini biasanya satu multithreaded, dimana menerima () pada objek ServerSocket akan kembali contoh Socket dalam Thread baru melahirkan dan tanggung jawab membaca permintaan, memprosesnya, membentuk respon, dan mengirim respon kembali ke yang sesuai klien didelegasikan kepada Thread ini hanya sementara thread utama terus menjalankan metode menerima () tanpa batas (sampai mesin server mati untuk menerima permintaan masuk datang ke server ini.
Oke ... mari kita mencobanya. Untuk Web Server untuk bekerja dengan sempurna, kita perlu klien untuk membentuk dan mengirim Permintaan HTTP yang valid untuk itu. Jadi, Web Browser (client dalam hal ini) harus juga dibahas bagaimana dapat memiliki kemampuan kinerja yang dibutuhkan. Mari kita menganggap bahwa browser ini juga sedang dilaksanakan di Jawa saja. Bahasa pilihan lainnya untuk mengembangkan Web Browser adalah C ++ dan kami menggunakan Socket mengimplementasikan kemampuan yang disebutkan di atas dalam Web Browser. Pelaksanaan Sockets di C ++ sangat mirip dengan yang di Jawa (setidaknya konseptual). Java membuat pelaksanaan keseluruhan relatif lebih sederhana dan itulah satu-satunya perbedaan kita akan melihat.HTTP bangunan Permintaan dan transfer dengan klien (yaitu, oleh Web Browser). Dalam hal ini, Browser akan menggunakan kelas java.net.Socket untuk membangun dirinya sebagai salah satu titik akhir dari komunikasi pada koneksi yang handal TCP (titik akhir lainnya akan contoh Socket lain dikembalikan oleh menerima () metode kelas ServerSocket di server). Untuk menciptakan socket dan mampu berkomunikasi dengan mesin, kita perlu mengetahui dua hal - IP Address dan Port Number. Dalam kasus kami, bagian dari URL akan membantu kita mendapatkan alamat IP dari server dan untuk protokol HTTP port default diasumsikan 80.
The DNS server memberikan alamat IP untuk URL yang valid masuk ke address bar dari khas Web Browser. Anda dapat memasukkan alamat IP langsung juga, tapi itu akan tentu saja akan sangat sulit untuk mengingat IP Addresses dan tentu saja mereka tidak akan begitu cukup jelas (dibandingkan dengan URL yang khas).Jadi, jika kita ketik www.google.com di address bar browser web, maka Socket akan mungkin dibuat menggunakan construtor 'Socket umum (String host, port int)' dan pernyataan akan sesuatu yang mirip dengan 'Socket socket = Socket baru ("www.google.com", 80); '. Setelah penciptaan sukses dari Socket contoh, klien akan dapat mengirim / menerima aliran byte hanya dengan menggunakan OutputStream / InputStream terkait dengan Socket misalnya. HTTP Request dibuat dengan memeriksa mesin klien (untuk HTTP Request Header) dan URL (untuk Metode HTTP dan URI dari sumber daya yang diminta). Setelah klien telah berhasil menciptakan HTTP Request valid, itu akan menggunakan koneksi TCP menggunakan Socket (pada mesin klien) dan ServerSocket (di mesin server ... kita akan membahasnya berikutnya) objek untuk mentransfer HTTP meminta kepada Web Server.
Baca juga : Perbedaan HTTP dengan HTTPS)
HTTP bangunan Respon dan transfer dengan server (yaitu, oleh Web Server)Web Server perlu mendengarkan permintaan sambungan yang dibuat oleh berbagai klien dan juga harus dilengkapi dengan kemampuan menerima Permintaan HTTP, memahami permintaan, membentuk Responses HTTP yang sesuai, dan akhirnya mentransfer ke mesin klien yang sesuai. Web Server dapat menggunakan benda java.net.ServerSocket untuk melakukan semua tugas-tugas ini. Ini mungkin menggunakan salah satu konstruktor dari 'ServerSocket public (port int, int backlog, InetAddress bindAddr)' ini kelas. Berikut pelabuhan menentukan nomor port di mana objek ServerSocket akan mendengarkan; backlog menentukan jumlah maksimum permintaan antri sebelum objek ServerSocket akan mulai menolak setiap Permintaan HTTP lebih masuk; dan bindAddr menentukan Alamat IP dari mesin di mana objek ServerSocket ini akan mendengarkan permintaan masuk. Jadi, itu biasanya alamat loopback yakni, '127.0.0.1'.Setelah kami siap dengan ServerSocket misalnya bekerja, kita dapat memanggil metode contoh memiliki tanda tangan sebagai 'Socket publik menerima () throws IOException' untuk mendengarkan permintaan sambungan yang dibuat oleh mesin klien ke server ini. Metode ini blok sampai sambungan dibuat dan setelah itu mengembalikan sebuah objek Socket baru, yang membentuk titik akhir kedua dari komunikasi antara klien dan server. Jika ada Security Manager di mesin server maka metode checkAccept () disebut dengan socket.getInetAddress (). GetHostAddress dan socket.getPort () sebagai parameter, di mana 'socket' adalah Socket contoh baru kembali dikembalikan oleh menerima ( ) metode. Jika checkAccept () kembali metode sebagai operasi yang akan diizinkan maka hanya kita bisa melangkah lebih jauh jika tidak SecurityException akan dibangkitkan dan komunikasi akan dihentikan seketika.
(Baca juga: Teknik belajar HTML dasar)
Jika Manajer Keamanan memungkinkan operasi maka baru dibuat Socket misalnya akan digunakan untuk mengambil InputStream dan OutputStream yang terkait dengan itu, yang Web Server pada akhirnya akan digunakan untuk membaca Permintaan HTTP dari dan untuk menulis Response HTTP untuk. Sangat penting untuk memahami di sini bahwa os InputStream Socket hal ini hanyalah sebuah replika dari OutputStream dari Socket misalnya pada akhir klien. Apapun yang tertulis di sana hanya ditransfer dengan menggunakan komunikasi TCP handal. Demikian pula, OutputStream terkait dengan Socket contoh di server akan menjadi replika dari InputStream terkait dengan contoh Socket pada akhir klien. Kami tidak perlu melakukan apa-apa tambahan dari menciptakan Socket contoh pada akhir klien dengan parameter yang sesuai, menciptakan contoh ServerSocket di akhir server, sebut menerima () metode ion ServerSocket hal ini, dan menggunakan kembali Socket misalnya oleh menerima metode () untuk membaca dan menulis Permintaan HTTP dan Response. Segala sesuatu yang lain adalah diurus oleh kelas perpustakaan paket java.net.
(Baca juga : pengertian dan manfaat internet)
Jadi sederhana, bukan? Itulah keindahan Java! Web Server ini biasanya satu multithreaded, dimana menerima () pada objek ServerSocket akan kembali contoh Socket dalam Thread baru melahirkan dan tanggung jawab membaca permintaan, memprosesnya, membentuk respon, dan mengirim respon kembali ke yang sesuai klien didelegasikan kepada Thread ini hanya sementara thread utama terus menjalankan metode menerima () tanpa batas (sampai mesin server mati untuk menerima permintaan masuk datang ke server ini.
Itulah, informasi yang dapat saya bagikan tentang Apa itu Web Server? Lalu Bagaimana cara kerjanya. Semoga bermanfaat. Sampai jumpa di artikel berikutnya.
Baca juga : Pengertian FTP, cara kerja serta manfaatnya
Baca juga : Cara kerja dan fungsi CSS
Baca juga : Pengertian FTP, cara kerja serta manfaatnya
Baca juga : Cara kerja dan fungsi CSS
thank's min
ReplyDeletesama-sama. semoga bermanfaat ;)
Delete