0
点赞
收藏
分享

微信扫一扫

LAN安全及概念

Nodejs基础

网络基础概念

IP

IP的介绍

IP 也称为 「IP 地址」,本身是一个数字标识。例如 192.168.1.3
ip本身是一个32Bit的二进制数字,例如,11000000101010000000000100000011
但是为了标识,将每8个分为一组,转成十进制数字,并每组加上“.”来组合
在这里插入图片描述
在这里插入图片描述

IP的作用

IP本身是一个数字标识
IP用来标识网络中的设备,实现设备间的通信

IP的分类

2022年11月15日,联合国宣布世界人口达到80亿
一个ip由32位组成,最多能够使用 2^32=42,9496,7296 个设备
是远远不够使用

解决

  • 共享IP——公网IP
    • 区域共享
    • 家庭共享——局域网
  • 本地回环IP地址
共享IP-公网
家庭共享——局域网
	家庭设备:手机、电脑、手机、打印机等

在这里插入图片描述

公网

在这里插入图片描述
180.91.213.151:广域网IP或公网IP

在这里插入图片描述

本地回环IP地址

127.0.0.1~127.255.255.254 这期间的IP地址,都是指向本机的

总结
类型说明
本机回环IP地址127.0.0.1 ~ 127.255.255.254
局域网IP (私网 IP)192.168.0.0 ~ 192.168.255.255,172.16.0.0 ~172.31.255.255,10.0.0.0 ~ 10.255.255.255
广域网 IP (公网 IP)除上述之外
IP标准分类

IP详细学习

端口

端口举例

在这里插入图片描述
在这里插入图片描述
将集市类比成计算机,每个摊位相当于计算机上的应用程序,而摊位编号则相当于端口

端口介绍

  1. 端口:应用程序的数字标识
    一台现代计算机有65536个端口(0~65535)
    一个应用程序可以使用一个或多个端口
  2. 端口的作用:实现不同主机应用程序之间的通信

在这里插入图片描述

总结

端口是应用程序的数字标识
主要作用是实现了不同主机应用程序之间的通信

HTTP模块

创建HTTP服务

//1、导入http模块
const http=require('http')

//2、创建服务对象
const server=http.createServer((request,response)=>{
    response.end('Hello Http Server')  //设置响应体
})

//3、监听端口,启动服务
server.listen(9000,()=>{
    console.log("服务已经启动.......")
})

在这里插入图片描述

在这里插入图片描述

HTTP服务注意事项

  1. 命令行 ctrl + c 停止服务
  2. 当服务启动后,再更新代码时候 必须重启服务才能生效
  3. 响应内容中文乱码的解决办法
  1. 端口号被占用

1)关闭当前正在运行监听端口的服务 ( 使用较多 )
2)修改其他端口号

  1. HTTP 协议默认端口是 80 。HTTPS 协议的默认端口是 443, HTTP 服务开发常用端口有 3000,
    8080,8090,9000 等
  • 第一个
    在这里插入图片描述

  • 第二个
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 第三个
//1、导入http模块
const http=require('http')

//2、创建服务对象
const server=http.createServer((request,response)=>{
    // response.end('Hello Http')  //设置响应体
    response.end('你好')  //设置响应体
})

//3、监听端口,启动服务
server.listen(9000,()=>{
    console.log("服务已经启动.......")
})

在这里插入图片描述
修改之后为:

//1、导入http模块
const http=require('http')

//2、创建服务对象
const server=http.createServer((request,response)=>{
    // response.end('Hello Http')  //设置响应体
    response.setHeader('content-type','text/html;charset=utf-8')
    response.end('你好')  //设置响应体
})

//3、监听端口,启动服务
server.listen(9000,()=>{
    console.log("服务已经启动.......")
})

在这里插入图片描述

  • 第四个
    再开一个终端运行上述代码:
    在这里插入图片描述

解决:

  1. 方法一: 关闭之前的,重新启动当前的
    在这里插入图片描述
  2. 方法二:修改端口号
    在这里插入图片描述
  • 第五个
//1、导入http模块
const http=require('http')

//2、创建服务对象
const server=http.createServer((request,response)=>{
    // response.end('Hello Http')  //设置响应体
    response.setHeader('content-type','text/html;charset=utf-8')
    response.end('你好')  //设置响应体
})

//3、监听端口,启动服务
// server.listen(9001,()=>{
//     console.log("服务已经启动.......")
// })

//3、监听端口,启动服务
server.listen(80,()=>{
    console.log("服务已经启动.......")
})

在这里插入图片描述

  • 第六个——注意情况

在这里插入图片描述
结束后再重新启动自己的服务

浏览器查看HTTP报文

查看请求报文

//1、导入http模块
const http=require('http')

//2、创建服务对象
const server=http.createServer((request,response)=>{
    // response.end('Hello Http')  //设置响应体
    response.setHeader('content-type','text/html;charset=utf-8')
    response.end('你好')  //设置响应体
})

//3、监听端口,启动服务
// server.listen(9001,()=>{
//     console.log("服务已经启动.......")
// })

//3、监听端口,启动服务
server.listen(9000,()=>{
    console.log("服务已经启动.......")
})

在这里插入图片描述

查看请求体

先新建一个表单

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="http://127.0.0.1:9000" method="post">
    <input type="text" name="username"> <br>
    <input type="password" name="password"> <br>
    <input type="submit" value="提交">
</form>
</body>
</html>

在这里插入图片描述
点击提交后,在网络中显示请求,点击载荷查看请求体
在这里插入图片描述

url当中的查询字符串

在这里插入图片描述

查看响应报文

·
在这里插入图片描述

举报

相关推荐

0 条评论