请求与响应
什么是请求与响应
如何发起请求
方法:
用Chrome 地址栏
用 curl 命令
概念:帮你发请求的叫做(用户代理)
如何做出一个响应
需用编程
Node.js有一个http模块可以做到
初始代码 server.js文件
注意事项:
这些代码就是服务器代码,一般放在服务器上
path是不带查询参数的路径/x
query 是查询参数的对象形式{a:'1'}
queryString是查询参数的字符串形式?a=1
pathWithQuery是带查询参数的路径,一般不用
request 是请求对象
response 是响应对象
代码逻辑
语法
`这种字符串`里面可以回车
'这种字符串'里面回车,只能用\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('内容')
可以追加内容
###如何调试