请求和响应

139 阅读2分钟

请求与响应

什么是请求与响应

1641046098349.png

如何发起请求

 方法:
 用Chrome 地址栏
 用 curl 命令
 概念:帮你发请求的叫做(用户代理)

如何做出一个响应

 需用编程
 Node.js有一个http模块可以做到
 初始代码 server.js文件
 注意事项:
 这些代码就是服务器代码,一般放在服务器上
 path是不带查询参数的路径/x
 query 是查询参数的对象形式{a:'1'}
 queryString是查询参数的字符串形式?a=1
 pathWithQuery是带查询参数的路径,一般不用
 request 是请求对象
 response 是响应对象

1641047033113.png

代码逻辑

 语法
 `这种字符串`里面可以回车
 '这种字符串'里面回车,只能用\n表示
 逻辑
 每次收到请求都会把中间的代码执行一遍
 用 if else 判断路径,并返回响应
 如果是已知路径,一律返回200
 如果是未知路径,一律返回404
 Content-Type表示美容的[类型/语法]
 response.write() 可以填写返回内容
 response.end()表示响应可以发给用混
 注意事项:
 URL里的后缀卵用没有,/y.css 不一定是css内容
 Content-Type才是决定文件类型的关键

HTTP基本概念

请求
 请求动词 路径加查询参数 协议名/版本
 host: 域名或IP
 Accept: text/html
 Content-Type: 请求体的格式
 回车
 请求体 (也就是上传的内容)
 细节
 三部分:请求行、请求头、请求体
 请求动词有 GIT / POST / PUI / PATCCH / DELETE 
 请求体在 GIT 请求中一般为空
 文档位于 RFC 2616 第五章
 大小写不敏感
响应
 协议名/版本 状态码 状态字符串
 Content-Type: 响应体的格式
 回车
 响应体 (也就是下载的内容)
 细节
 三部分:状态行、响应头、响应体
 常见的状态码是[考点](https://zhuanlan.zhihu.com/p/121168258)
 文档位于 RFC 2616 第六章

用curl构造请求

 curl -v http://127.0.0.1:8888
 设置请求动词
 -x POST(注意大小写)
 设置路径和查询参数
 直接在 url 后面加
 设置请求头
 -H 'Nane: value' 或者 -Header 'Nane: value'
 设置请求体
 -d '内容' 或者 --data '内容'

Node.js读取请求

 读取请求动词
 request.method
 读取路径
 request.url 路径,带查询参数
 path 纯路径,不带查询参数
 query 只用查询参数
 读取请求头
 request.headers['Accept']
 读取请求体
 比较复杂,先不讲

用Nonde.js设置响应

 设置响应状态码
 respons.statusCode = 200
 设置响应头
 response.setHeader('Content-Type','text/html')
 设置响应体
 response.write('内容')
 可以追加内容

###如何调试

1641052938940.png