Nodejs/http\path模块概述 | 青训营

34 阅读2分钟

1..HTTP 协议

一、概念

HTTP(hypertext transport protocol)协议;中文叫超文本传输协议

是一种基于TCP/IP的应用层通信协议

这个协议详细规定了 浏览器 和万维网 服务器 之间互相通信的规则。

协议中主要规定了两个方面的内容

客户端:用来向服务器发送数据,可以被称之为请求报文

服务端:向客户端返回数据,可以被称之为响应报文

报文:可以简单理解为就是一堆字符串

二、请求报文的组成

  • 请求行
  • 请求头
  • 空行
  • 请求体

三、HTTP 的请求行

请求方法(

  • get、post、put、delete等)
  • 请求 URL(统一资源定位器)

例如:www.baidu.com:80/index.html?…

  • http:协议(https、ftp、ssh等)
  • www.baidu.com 域名
  • 80 端口号
  • /index.html 路径
  • a=100&b=200 查询字符串
  • #logo 哈希(锚点链接)
  • HTTP协议版本号

四、HTTP 请求头

格式:『头名:头值』

image.png

五、HTTP 的请求体

请求体内容的格式是非常灵活的,

(可以是空)==> GET请求,

(也可以是字符串,还可以是JSON)===> POST请求

例如:

字符串:keywords=手机&price=2000

JSON:{"keywords":"手机","price":2000}

六、响应报文的组成

响应行

HTTP/1.1:HTTP协议版本号

  • 200:响应状态码 404 Not Found 500 Internal Server Error

  • 还有一些状态码,参考:developer.mozilla.org/zh-CN/docs/…

  • OK:响应状态描述

  • 响应状态码和响应字符串关系是一一对应的。

  • 响应头

Cache-Control:缓存控制 private 私有的,只允许客户端缓存数据

Connection 链接设置

Content-Type:text/html;charset=utf-8 设置响应体的数据类型以及字符集,响应体为html,字符集

utf-8

Content-Length:响应体的长度,单位为字节
  • 空行

  • 响应体

  • 响应体内容的类型是非常灵活的,常见的类型有 HTML、CSS、JS、图片、JSON

2.path 模块

path 模块提供了 操作路径 的功能,我们将介绍如下几个较为常用的几个 API:

image.png 代码示例:

const path = require('path');

//获取路径分隔符

console.log(path.sep);

//拼接绝对路径

console.log(path.resolve(__dirname, 'test'));

//解析路径

let pathname = 'D:/program file/nodejs/node.exe';

console.log(path.parse(pathname));

//获取路径基础名称

console.log(path.basename(pathname))

//获取路径的目录名

console.log(path.dirname(pathname));

//获取路径的扩展名

console.log(path.extname(pathname));