HTTP入门 请求与响应

201 阅读1分钟

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 文档