http 请求与响应
由客户端浏览器向服务器端发起请求,服务器收到后给出响应
如何发起请求
浏览器搜索地址栏
使用curl命令 curl -v +网站
发起请求的工具叫 用户代理(user gent)
如何做出一个响应
console.log('有个帅哥发请求过来啦!路径(带查询参数)为:' + pathWithQuery)
if (path === '/') {
response.statusCode = 200
response.setHeader('Content-Type', 'text/html;charset=utf-8')
response.write(`二哈zhenpi`)
response.end()
} else if (path === '/x') {
response.statusCode = 200
response.setHeader('Content-Type', 'text/css;charset=utf-8')
response.write(`body{color: red;}`)
response.end()
} else {
response.statusCode = 404
response.setHeader('Content-Type', 'text/html;charset=utf-8')
response.write(`你输入的路径不存在对应的内容`)
response.end()
}
注意事项
这些代码是服务器代码,一般放在服务器上
path 是不带查询参数的路径 /x
query 是查询参数的对象形式 {a:'1'}
queryString 是查询参数的字符串形式 ?a=1
pathWithQuery 是带查询参数的路径,一般不使用
request 是请求对象
response 是响应对象
代码的逻辑
每次收到请求,都和把中间的代码执行一遍
用if else 判断路径,并返回响应
如果是已知路径 一律返回200
如果是未知路径 一律返回404
Content-Type 表示内容的[类型/语法]
response.write() 可以填写返回的内容
response.end() 表示响应可以发给用户了
Node.js
node server.js 8888
电脑会默认开一个8888的端口,被server.js监听
发起请求,server.js就会执行,给出响应
显示js的方式
else if(path === '/y'){
response.statusCode = 200
response.setHeader('Content-Type', 'text/javascript;charset=utf-8')
response.write(`console.log(这是js内容)`);
response.end()
}
在html里加:<script src="/y"> </script>
详细资料点击:HTTP 文档