HTTP协议

89 阅读2分钟

HTTP (Hypertext Transfer Protocol) 超文本传输协议

协议

双方必须共同遵守的一组约定 image.png

URL

全称 (Uniform Resource Locator) 统一资源定位符 image.png

image.png

响应状态描述

image.png

IP

  • IP 也被称为【IP地址】,本身是一个数字标识 例如:192.168.6.3
  • IP 本身是一个32bit的2进制数字

image.png

再将此二进制进行拆分,每八bit一组,转为十进制 再用点分割

image.png

image.png

image.png

IP的分类

image.png

端口

image.png

获取 Http 请求报文

想要获取请求的数据,需要通过request对象

  • 获取请求方法
 // 获取请求方法
 console.log(req.method)
  • 获取请求的url
// 获取请求的url
console.log(req.url)
  • 获取请求头
// 获取请求头
console.log(req.headers)

Node 中的http模块

const http = require('http')
const server = http.createServer((req, res) => {
    //   设置响应状态码
    res.statusCode = 404
    //   设置响应状态描述
    res.statusMessage = 'server getting wrong'
    // 设置响应头
    res.setHeader('content-type', 'text/html;charset=utf-8')
    res.setHeader('server', 'node.js')
    //   设置多个同名响应头
    res.setHeader('text', ['a', 'b', 'c'])
    //   设置响应体(write 方法可以多次调用)
    res.write('write')

  res.end('response')
})
server.listen(9000, () => {
  console.log('server running at http://127.0.0.1:9000')
})

MIME 类型

MIME 类型参考网址

媒体类型MIME(Multipurpose Internet Mail Extensions) 是一种标准,用来表示文档、文件或字节流的性质和格式。

mime 类型结构 [type]/[subType] 例如: text/html text/css image/jpeg image/png application/json

HTTP 服务可以设置响应头Content-Type 来表明响应体的MIME类型,浏览器会根据该类型决定如何处理资源

下面是常见文件对应的mime类型

  • html: 'text/html',
  • css: 'text/css',
  • js: 'text/javascript',
  • png: 'image/png',
  • jpg: 'image/jpeg',
  • gif: 'image/gif',
  • mp4: 'video/mp4',
  • mp3: 'audio/mpeg',
  • json: 'application/json'

对于未知的资源类型,可以选择application/octet-stream类型,浏览器再用到该类型的响应时,会对响应体内容进行独立存储,也就是我们常见的下载效果

当电脑中的某个端口被占用,但是你又想用次端口

  1. 在window中搜索 资源监视器

image.png

  1. 点击进入

image.png

  1. 依次点击网络->侦听端口

image.png

  1. 找到对应端口进程的PID

image.png

  1. 打开任务管理器 -> 搜索对应的 PID

image.png

  1. 右键选择结束任务

image.png

  1. 此时你就可以在 80 端口上运行你想要运行的程序了