¿Qué es un servidor web?
Cuando una aplicación (cliente) necesita un determinado recurso, puede solicitar el recurso a través de HTTP a un servidor; el servidor que proporciona el recurso es un servidor web.
1.1 Primera experiencia con el servidor
;1.2 Dos formas de crear un servidor
1.3 objeto de solicitud
El objeto de solicitud encapsula toda la información pasada por el cliente a nuestro servidor.
La URL de esta solicitud, el servidor necesita realizar un procesamiento diferente de acuerdo con las diferentes URL
del método de solicitud de esta solicitud, como GET, POST solicitud entrante; Los parámetros y métodos de procesamiento son diferentes;
los encabezados de esta solicitud también contendrán cierta información, como información del cliente, formato para recibir datos, formatos de codificación admitidos, etc.
Solicitud regular:
Al enviar una solicitud, el cliente solicitará datos diferentes y luego se pasarán diferentes direcciones de solicitud. El servidor debe dar diferentes respuestas según las diferentes direcciones de solicitud.
Si la dirección de solicitud del usuario también contiene algunos parámetros adicionales, ¿cómo debemos analizarlos?
Podemos usar el módulo de URL.
Entre ellos, el módulo de URL proporciona herramientas de utilidad para el procesamiento y análisis de URL.
Importar URL const url = require('url')
Supongamos que los datos de nuestra solicitud son:
El resultado de la consola analizando la URL es:
Entre ellos, nombre de ruta es la última ruta que debemos obtener. Nuestro propósito es obtener el usuario y contraseña por separado en la consulta.
Importar módulo de cadena de consulta const qs = require('querystring');
const http = require("http")const url = require('url')const qs = require('querystring')// 1. Crear un servidor const server = http .createServer((solicitud, res) => { // Utilice el módulo integrado const{ nombre de ruta, consulta } = url.parse(req.url) if(nombre de ruta === '/iniciar sesión'){ consola.log(consulta); console.log(qs.parse(consulta)); const {nombre de usuario, contraseña} = qs.parse(consulta) console.log(nombre de usuario,contraseña); res.end('La solicitud finaliza') }});// 2. Establezca el número de puerto e inicie el servidor server.listen(8888,'0.0.0.0',()=>{ console.log("El servidor se inició correctamente~");})
En la especificación Restful (estilo de diseño), debemos usar diferentes métodos de solicitud para agregar, eliminar, modificar y verificar datos:
podemos realizar diferentes procesamientos juzgando diferentes métodos de solicitud.
Supongamos que los siguientes son los datos de nuestra solicitud JSON en el cuerpo -> ¿Cómo hacer que nuestro servidor obtenga el nombre de usuario y la contraseña?
tipo de contenido es el tipo de datos transportados en esta solicitud:
aplicación/json significa un tipo json;
-length: ** El tamaño y la longitud del archivo
keep-alive:
**aceptar codificación: **; informar al servidor, al cliente El formato de compresión de archivos admitido por el cliente, por ejemplo, los archivos js pueden usar codificación gzip, correspondiente a archivos .gz
** aceptar: ** Informar al servidor que el cliente puede aceptar el tipo de formato de archivo
*
;*user-agent:** Información relacionada con el cliente;
1.4 objeto de respuesta
Si queremos responder al cliente con datos de resultados, podemos hacerlo de dos maneras:
Nota: si no llamamos a finalizar y cerrar, el cliente esperará el resultado;
El código de estado Http (código de estado Http) es un código numérico que se utiliza para representar el estado de la respuesta Http:
Categoría | Frase de motivo | |
---|---|---|
1xx | Informativo | La solicitud aceptada se está procesando |
2xx | Éxito | La solicitud se procesó normalmente |
3xx | Redirección | Se requiere acción adicional para completar la solicitud |
4xx | Error del cliente | Error del cliente Error de solicitud, el servidor no puede procesar la solicitud |
5xx | Error del servidor (error del servidor) | Servidor error al procesar la solicitud |
Códigos de respuesta comunes:
Descripción | del código de estado | Descripción | del estado
---|---|---|
200 | OK | Solicitud exitosa. Generalmente se utiliza para solicitudes GET y POST. |
incorrecta | es | un |
error | de | sintaxis en la solicitud |
del | cliente, perose | niega a ejecutar la solicitud |
404 | ||
No | encontrado. | El servidor no puede procesar la solicitud según la solicitud del cliente de que se encuentre un recurso (página web). A través de este código, los diseñadores de sitios web pueden configurar una página personalizada de "No se puede encontrar el recurso que solicitó". |
500 | Error | interno |
del | servidor | El servidor tiene un error interno y no puede completar la solicitud. |
, el servidor no puede procesar temporalmente la solicitud del cliente. La duración del retraso se puede incluir en el código de estado establecido en el encabezado Retry-After del servidor |
:
devuelve información del encabezado. Hay dos formas principales: