一.服务器与客户端
1.服务器的类型
web服务器:安装apache, tomcat, iis, nginx, 或者在nodejs环境写代码 提供:图片浏览,新闻浏览....等服务的服务器。
ftb服务器:安装serv-U软件,为其它电脑提供文件下载,共享服务
数据库服务器:安装mysql软件,为其它电脑提供数据库服务。
2.服务器相关概念
2.1http协议:
-
HTTP(HyperText Transfer Protocol) 超文本传输协议。
-
协议双方: 浏览器与web服务器都要遵守的协议
-
请求通常是由浏览器发起的
-
HTTP 协议中明确规定了
请求数据
和响应数据
的格式(报文)-
浏览器 请求 资源 要遵守 http 协议: 请求报文(请求行,请求头,请求体)
-
服务器 返回 资源 要遵守 http 协议: 响应报文(响应行,响应头,响应体)
-
2.2域名和IP:
IP(Internet Protocol Address): 用于标识一个网络设备在某个网络中的地址,计算机中的ip是唯一的,不允许相同
域名:ip地址的别名
2.3端口:
使用ip+端口的方式区分不同服务,用于提供不同的服务,一个IP端口可以有65536个,范围从[0,65535]
一些端口是已经被预定的例如http:80 https:443 mysql:3306 ,使用终端命令netstat -a -n -o可以查看端口使用情况
2.4URL(Uniform Resource Location):
统一资源定位符:作用:定位资源
格式:协议://主机地址:端口/路径?查询字符串#锚点
二.自己写一个简单的web服务器
补充:命令ipconfig可以查询到本机ip地址
命令ping+地址可以查询丢包率等等信息
1.实现代码:
//导入核心模块
const http = require("http");
//创建http服务,参数是一个回调函数,当接收到http请求时,被调用
//回调函数有两个参数:req 客户端的请求 res 本次请求的响应
const server = http.createServer((req, res) =&g