请求中有什么
这里主要介绍一下请求中比较重要的要素:
1、请求行
2、请求头
3、请求体
请求行
请求行中包含的内容有请求动词,路径,协议名/版本
-
请求动词分:GET | POST | PUT | DELETE | PATCH 等
-
路径:不输入域名时,默认/根路径
-
协议名/版本:没啥好说的,一般都是HTTP/1.1
请求头
请求头中包含的内容为Host、Accept、Content-Type
-
Host:请求的域名
-
Accept:接受的类型
比如接受文件的类型之类的text/html、text/css之类的。这里的接受类型才是指定文件类型的关键。
文件后缀例如1.jpg
中的jpg只是决定文件的打开方式而已
- Content-Type:请求体的类型
这里指定的类型是决定文件类型的关键
请求体内容
如果请求动词是GET,则没有请求体内容
用chrome查看请求内容
F12 打开开发者工具 --> Network --> 点击view source(视口来源)
在Request Headers中可以看到请求行、请求头的信息。
注意:此时模式为GET,所以没有请求体信息
在General中可以看到请求模式的相关信息包括请求状态码request status,请求模式request method
打印请求行 请求头的信息
代码:
console.log(response.statusCode);//响应的状态码
console.log(request.httpVersion);//http的版本信息
console.log(request.method);//请求方式
console.log(request.headers["accept"])//请求头中的接受类型
console.log(request.headers.host)//请求头中的域名
console.log(request.headers)//请求头整个信息
对应内容:
响应
响应的内容包括:状态行(响应行)、响应类型、响应体(响应内容)
在chorme的Response Headers 中同样可以看到响应的情况
在后台代码中设置对应的内容
response.statusCode = 200 //设置状态码是200
response.setHeader('Content-Type', 'text/css;charset=utf-8') //设置响应头
response.write(`body{color: red;}`)//设置响应体
response.end()//这里表示响应可以发送给用户了
-
如果状态码设置为404,可以不写
setHeader
和write
-
setHeader中可以设置自定义的内容,也可以把这个内容响应给用户,例如我加一句代码
response.setHeader('qiuyanxi','11')
响应内容:
状态码的拓展
下面是常见的HTTP状态码:
- 200 - 请求成功
- 301 - 资源(网页等)被永久转移到其它URL
- 404 - 请求的资源(网页等)不存在
- 500 - 内部服务器错误