développement de la pré-connaissance de l'apprentissage côté serveur Node.js

Entrez l'URL du navigateur pour afficher la page de l'ensemble du processus

  • Après le nom de domaine DNS résolu à une adresse IP, l'adresse IP correspondant à un serveur, établir une connexion TCP entre le client et le serveur (poignée de main à trois voies), le client envoie une demande http

  • http serveur reçoit la requête, et retourne le traitement

  • Le client reçoit les données de retour des données de retraitement (telles que le rendu des pages, js d'exécution)

La différence entre le serveur de développement et le développement frontal

  • stabilité service

    • fin du serveur peut souffrir de diverses attaques malveillantes et l'utilisation abusive

    • Un seul client peut accidentellement raccrocher, mais le service ne se termine pas

    • Le processus d'apprentissage à utiliser PM2 faire démon (processus se bloque automatiquement redémarrer une fois sans intervention manuelle)

  • Pensez à la mémoire et CPU (optimisation, expansion)

    • Le client exclusivement un navigateur, la mémoire et CPU est pas un problème

    • Pour mener à bien de nombreuses demandes du côté du serveur, le processeur et les ressources mémoire sont rares

    • Apprenez à utiliser l'enregistrement de flux, cette méthode de l'exploitation forestière est de résoudre le processeur et la mémoire, est un programme d'optimisation

    • L'étude a utilisé la session de stockage de redis, il est un procédé d'extension de la capacité portante du côté serveur

  • enregistrement

    • sera impliqué front-end pour écrire le journal, mais seulement journal initiateur, pas de soins de suivi

    • Pour mettre fin à serveur

      • enregistrement
      • journaux de magasin
      • analyse log
    • L'étude de diverses méthodes d'exploitation forestière, mais aussi apprendre comment analyser le journal

  • sécurité

    • côté serveur prêt à recevoir une variété d'attaques malveillantes, beaucoup moins l'extrémité distale, une telle opération non autorisée, une attaque de base de données

    • L'étude de validation de connexion, prévenir les attaques XSS et injection sql

  • Clusters et services de Split

    • Si la vitesse de développement de produits, le trafic augmentera rapidement, nous devons envisager de procéder à un grand débit à travers la machine d'expansion et la façon dont le service partagé

    • Cette étude est un développement autonome, mais qui est séparée des services de soutien à la conception

Interface de développement natif Node.js manière reçoit et traite les demandes http

  • demande et obtenir querystring

    • Ce client souhaite obtenir des données côté serveur, telles que les requêtes liste des blogs

    • Pour transmettre des données, telles que par a.html querystring? A = 100 & b = 200

    • Accès direct au navigateur envoie une requête pour obtenir

  • demande après

    • Pour poster une demande qui est le transfert de données client-serveur, comme le nouveau blog

    • Le transfert de données d'étude personnalisée postData

    • Que les navigateurs ne peuvent pas simuler, la simulation peut être utilisé postman

      • Postman peut choisir d'installer le plug-in Google, compact et léger, la recherche apparaît postier chrome CRX tutoriel d'installation

      • Peut aussi être utilisé dans le site officiel du postier d'installation application postier

  /**
  * Node.js处理Http请求的综合Demo
  * Node.js符合CommonJs模块化规范
  */

  const http = require('http'),
    querystring = require('querystring');

  http.createServer((req, res) => {

    // 数据格式
    console.log('content-type: ', req.headers['content-type']);

    const method = req.method,
      url = req.url,
      path = url.split('?')[0],
      query = querystring.parse(url.split('?')[1]);

    // 设置返回字符串的格式为json
    res.setHeader('Content-type', 'application/json');

    // 返回数据
    const resData = {
      method,
      url,
      path,
      query,
    }

    // 返回数据
    if (method === 'GET') {
      res.end(JSON.stringify(resData));
    }
    if (method === 'POST') {
      let postData = '';
      req.on('data', chunk => {
        postData += chunk;
      });
      req.on('end', () => {
        resData.postData = postData;
        res.end(JSON.stringify(resData));
      });
    }

  }).listen(3000, () => {
    console.log('running at port 3000.');
  });
Publié 49 articles originaux · éloge de won 29 · vue 1870

Je suppose que tu aimes

Origine blog.csdn.net/Brannua/article/details/105087923
conseillé
Classement