理解互联网域名请求实现过程,以及Nodejs的http请求小谈

前提:在学习开发互联网网站程序前,需要了解知道一个客户端请求,如何能展现成一个炫丽的网页的。

一、域名请求实现

  这幅图足以说明一个域名请求的过程了吧

二、服务器端的处理(Nodejs示例)

  直接上nodejs代码

  

 1 var http = require(‘http‘);
 2
 3 http.createServer(function(req, res) {
 4     if (req.method === ‘GET‘) {
 5         var html;
 6         switch (req.url) {
 7             case ‘/‘:
 8             case ‘/index.html‘:
 9                 html = ‘<html><head><meta charset="utf8"><title>主页</title></head>‘ +
10                     ‘<body>‘ +
11                     ‘<h1>欢迎访问<h1>‘+
12                     ‘<a href="add.html">add</a> ‘ +
13                     ‘<a href="delete.html">delete</a> ‘ +
14                     ‘<a href="update.html">update</a> ‘ +
15                     ‘<a href="select.html">select</a> ‘ +
16                     ‘</body></html>‘;
17                 break;
18             case ‘/add.html‘:
19                 html = ‘<html><head><title>add</title></head>‘ +
20                     ‘<body>‘ +
21                     ‘<a href="index.html">index</a>‘ +
22                     ‘add‘ +
23                     ‘</body></html>‘;
24                 break;
25             case ‘/delete.html‘:
26                 html = ‘<html><head><title>delete</title></head>‘ +
27                     ‘<body>‘ +
28                     ‘<a href="index.html">index</a>‘ +
29                     ‘delete‘ +
30                     ‘</body></html>‘;
31                 break;
32             case ‘/update.html‘:
33                 html = ‘<html><head><title>update</title></head>‘ +
34                     ‘<body>‘ +
35                     ‘<a href="index.html">index</a>‘ +
36                     ‘update‘ +
37                     ‘</body></html>‘;
38                 break;
39             case ‘/select.html‘:
40                 html = ‘<html><head><title>delete</title></head>‘ +
41                     ‘<body>‘ +
42                     ‘<a href="index.html">index</a>‘ +
43                     ‘delete‘ +
44                     ‘</body></html>‘;
45                 break;
46             default:
47                 res.writeHead(‘Content-Type‘, "text/html");
48                 res.end(‘404‘);
49                 return;
50         }
51         res.writeHead(‘Content-Type‘, "text/html");
52         res.end(html);
53     }
54 }).listen(7789);
55 console.log(‘http://localhost:7789‘);

这里可以明确看出

  var http = require(‘http‘);//创建http对象,http是啥?百度、google去吧

  http.createServer(function(request, response) {}).listen(7789)//创建httpServer 服务器,以及最后面的监听端口

  

  说明:

    前提:服务器已经使用 node 命令启动http服务并且监听端口7798,这个比较简单,将以上代码存成一个文件“JSWebsite.js”,存放于D盘下,

    此时从cmd中进入D盘下,运行 node JSWebsite.js 即可,创建http服务,并且监听所要监听的端口。

    nodejs 使用代码方式创建了http协议网站的服务器,以及监听端口,其他web服务器也类似,IIS可以创建网站,以及IP,端口的监听

    1.当请求到达服务器时,由于服务器已存在,对应请求的ip、端口的监听,所以会交给监听程序处理,这里交给了,在创建http服务时候的匿名函数  

    http.createServer(function(request, response) {}).listen(7789),即function(request,response){}方法处理。

    2.request 主要是请求携带信息,response主要是要响应的表达信息

    request,包含了请求的method、URL等诸多信息。

    response,包含了响应的head、Content-type等诸多信息

    其实其他的web服务器,也是响应类似的封装了以上操作,这个处理过程也是类似的操作

    无外乎:请求→处理→响应

扩展:
  1.大家可能看到以上代码的switch case处理,非常麻烦,怎么办
    大牛走的路多了,给您归纳总结出,路由规则

  2.也看到了手写html的麻烦。
    这时也会有相应的读取实际物理地址文件的操作,将html代码与逻辑分开,表现与逻辑的分离,MVC、MVVM等等

  3.网站的整体架构就是一团乱
    这时相应的网站框架替您排忧解难,express等等

NodeJs开发学习目录

理解互联网域名请求实现过程,以及Nodejs的http请求小谈

时间: 2024-11-12 08:49:06

理解互联网域名请求实现过程,以及Nodejs的http请求小谈的相关文章

Tomcat基本组件、其功能和处理请求的过程

一.Tomcat是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的组件是Catalina Servlet容器,其他的组件按照一定的格式要求配置在这个顶层容器中 Tomcat的各个组件是在<TOMCAT_HOME>\conf\server.xml文件中配置的,如下: XML配置文件结构 <Server>                     顶层类元素:一个配置文件中只能有一个<Server>元素,可包含多个Service. <Service> 

Tomcat学习(一) - Tomcat结构以及处理一个请求的过程

1. Tomcat结构 Tomcat是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的 组件是Catalina Servlet容器,其他的组件按照一定的格式要求配置在这个顶层容器中.Tomcat的各个组件是在<TOMCAT_HOME>\conf \server.xml文件中配置的,Tomcat服务器默认情况下对各种组件都有默认的实现,下面通过分析server.xml文件来理解Tomcat 的各个组件是如何组织的.server.xml文件的基本组成结构如下. XML配置文件结构 &l

关于Tomcat的点点滴滴(体系架构、处理http请求的过程、安装和配置、目录结构、设置压缩和对中文文件名的支持、以及Catalina这个名字的由来……等)

总结Tomcat的体系架构.处理http请求的过程.安装和配置.目录结构.设置压缩和对中文文件名的支持.以及Catalina这个名字的由来--等. Tomcat和JVM: 一个Tomcat只会启动一个JVM,所有webapps公用一个JVM进程,所以System.exit()会导致影响同个Tomcat中的其他应用.Tomcat通过调用配置的JDK或JRE来启动JVM. 体系结构: Server:A Server element represents the entire Catalina ser

[转]Tomcat处理一个HTTP请求的过程

1.Tomcat Server的组成部分 1.1 - Server A Server element represents the entire Catalina servlet container. (Singleton) 1.2 - Service A Service element represents the combination of one or more Connector components that share a single Engine.Service是这样一个集合:

(转)关于Tomcat的点点滴滴(体系架构、处理http请求的过程、安装和配置、目录结构、设置压缩和对中文文件名的支持、以及Catalina这个名字的由来……等)

转自:http://itfish.net/article/41668.html 总结Tomcat的体系架构.处理http请求的过程.安装和配置.目录结构.设置压缩和对中文文件名的支持.以及Catalina这个名字的由来--等. Tomcat和JVM: 一个Tomcat只会启动一个JVM,所有webapps公用一个JVM进程,所以System.exit()会导致影响同个Tomcat中的其他应用.Tomcat通过调用配置的JDK或JRE来启动JVM. 体系结构: Server:A Server el

简单说下浏览器处理请求的过程

先来个图 和前端不太想干的东西我已过滤掉,不然的话你一时伴儿真说不完,我们只是说最主要的: 当一个用户在浏览器里输入www.google.com这个URL时,将会发生如下操作: 首先,浏览器会请求DNS把这个域名解析成对应的IP地址: 然后,根据这个IP地址在互联网上找到对应的服务器,建立Socket连接,向这个服务器发起一个HTTP Get请求,由这个服务器决定返回默认的数据资源给访问的用户: 在服务器端实际上还有复杂的业务逻辑:服务器可能有多台,到底指定哪台服务器处理请求,这需要一个负载均衡

http请求的过程

1.在浏览器输入网址http://www.baidu.com 2.解析域名为主机ip地址和端口号(web应用默认端口号80) 3.通过浏览器类似Socket的机制与主机建立连接 4.客户端与服务器端建立连接 5.客户端与服务器端按照HTTP协议传送文本数据 6.服务端解析请求数据,处理后反馈结果(html,超文本标记语言) 7.客户端浏览器接收返回的html,展示返回的页面 8.连接断开,回话结束. 个人理解[浏览器]与[Socket通信]有点类似于一个级别,都是对网络通信提供接口,建立连接后实

一个完整的http请求响应过程

一. HTTP请求和响应步骤 图片来自:理解Http请求与响应 以上完整表示了HTTP请求和响应的7个步骤,下面从TCP/IP协议模型的角度来理解HTTP请求和响应如何传递的. 二.TCP/IP协议 TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议,通过20多年的发展已日渐成熟,并被广泛应用于局域网和广域网中,目前已成为事实上的国际标准.TCP/IP协议簇是一

GET&amp;&amp;POST请求编码过程

编码.解码 我们在开发过程中不可避免的一个话题就是编码和解码,那么什么是编码什么是解码呢?为什么要进行编码和解码呢?下面我们一一分析! 编码和解码的概念 编码是信息从一种形式或格式转换为另一种形式的过程也称为计算机编程语言的代码简称编码.用预先规定的方法将文字.数字或其它对象编成数码,或将信息.数据转换成规定的电脉冲信号.编码在电子计算机.电视.遥控和通讯等方面广泛使用.编码是信息从一种形式或格式转换为另一种形式的过程.解码,是编码的逆过程.例如:"我是中国人!"按照UTF-8编码后为