Apa itu server web?
Ketika suatu aplikasi (klien) membutuhkan sumber daya tertentu, ia dapat meminta sumber daya melalui HTTP ke server; server yang menyediakan sumber daya adalah server Web
;
1.2 Dua cara untuk membuat server
1.3 objek permintaan
Objek permintaan merangkum semua informasi yang dikirimkan oleh klien ke server kami.
URL permintaan ini, server perlu melakukan pemrosesan yang berbeda sesuai dengan
metode permintaan permintaan ini, seperti GET, POST permintaan masuk Parameter dan metode pemrosesan berbeda;
header permintaan ini juga akan membawa beberapa informasi, seperti informasi klien, format untuk menerima data, format pengkodean yang didukung, dll...
Permintaan reguler:
Saat mengirim permintaan, klien akan meminta data yang berbeda, dan kemudian alamat permintaan yang berbeda akan diteruskan. Server perlu membuat respons berbeda berdasarkan alamat permintaan yang berbeda.
Jika alamat permintaan pengguna juga membawa beberapa parameter tambahan, bagaimana kita menguraikannya?
Kita bisa menggunakan modul url.
Diantaranya, modul url menyediakan alat utilitas untuk pemrosesan dan penguraian URL.
Impor url const url = require('url')
Misalkan data permintaan kita adalah:
Hasil console parsing urlnya adalah:
Diantaranya, pathname adalah jalur terakhir yang perlu kita peroleh. Tujuan kami adalah mendapatkan nama pengguna dan kata sandi secara terpisah dalam kueri.
Impor modul querystring const qs = require('querystring');
const http = require("http")const url = require('url')const qs = require('querystring')// 1. Buat server const server = http .createServer((permintaan, res) => { // Gunakan modul bawaan const{ pathname,query } = url.parse(req.url) if(nama jalur === '/login'){ console.log(kueri); konsol.log(qs.parse(kueri)); const { nama pengguna, kata sandi } = qs.parse(kueri) console.log(nama pengguna, kata sandi); res.end('Permintaan berakhir') }});// 2. Tetapkan nomor port dan mulai server server.listen(8888,'0.0.0.0',()=>{ console.log("Server berhasil dimulai~");})
Dalam spesifikasi Restful (gaya desain), kita harus menggunakan metode permintaan yang berbeda untuk menambah, menghapus, mengubah dan memeriksa data:
Kita dapat Melakukan pemrosesan yang berbeda dengan menilai metode permintaan yang berbeda.
Asumsikan berikut ini adalah data permintaan JSON kita di badan -> Bagaimana cara membuat server kita mendapatkan nama pengguna dan kata sandi?
tipe konten adalah tipe data yang dibawa dalam permintaan ini:
application/jsonberarti
-panjang: **Ukuran dan panjang file
tetap hidup:
**accept-encoding: ** informasikan ke server, klien Format kompresi file yang didukung oleh klien, misalnya, file js dapat menggunakan pengkodean gzip, sesuai dengan file .gz
**accept:** Memberi tahu server bahwa klien dapat menerima jenis format file
; *agen-pengguna:** Informasi terkait klien ;
1.4 objek respons
Jika kita ingin merespons klien dengan data hasil, kita dapat melakukannya dengan dua cara:
catatan: jika kita tidak memanggil end dan close, klien akan menunggu hasilnya.
Kode status Http (Kode Status Http) adalah kode numerik yang digunakan untuk mewakili status respons Http:
Kategori | Alasan Frase | |
---|---|---|
1xx | Informasi | Permintaan yang diterima sedang diproses |
2xx | Berhasil | Permintaan diproses secara normal |
3xx | Pengalihan | Tindakan tambahan diperlukan untuk menyelesaikan permintaan |
4xx | Kesalahan klien Kesalahan klien | Kesalahan permintaan, server tidak dapat memproses permintaan |
5xx | Server Error (kesalahan server) | Server kesalahan dalam memproses permintaan |
Kode respons umum:
Deskripsi | kode status | Deskripsi | status
---|---|---|
200 | OK | Permintaan berhasil. Umumnya digunakan untuk permintaan GET dan POST. |
400 | Permintaan | Buruk |
adalah | kesalahan | sintaksis dalam permintaan klien. Server tidak dapat memahami |
permintaan | tersebut | , tetapi menolak untuk menjalankan permintaan tersebut .404 |
Tidak | Ditemukan. | Server tidak dapat memproses permintaan berdasarkan permintaan klien. Melalui kode ini, perancang situs web dapat mengatur halaman yang dipersonalisasi "Sumber daya yang Anda minta tidak dapat ditemukan". |
500 | Kesalahan | Server |
Internal | . | Server mengalami kesalahan internal dan tidak dapat menyelesaikan permintaan |
, server untuk sementara tidak dapat memproses permintaan klien. Lamanya penundaan dapat dimasukkan dalam kode status yang diatur di header Retry-After server |
:
mengembalikan informasi header. Ada dua cara utama: