1、如何发送请求
向服务器发送请求的主要方式有两种,(1)用浏览器(比如: Chrome )的地址栏、(2)使用 curl 命令。
以上两者都会代替用户向服务器发送请求,所以它们也被称之为「用户代理」,英文名:User Agent。
2、如何做出响应
要让服务器根据用户发送的请求做出响应,就需要在服务器编写相应的后端代码,下面是一些服务器代码的参数:
| path | 不带查询参数的路径,比如: /xxx | query | 查询参数的对象形式,比如:{a:1} |
|---|
| queryString | 查询参数的字符串形式,比如:?a=1 | pathWithQuery | 带查询参数的路径,一般不用 |
| request | 请求对象 | response | 响应对象 |
3、HTTP 基础概念
请求动词 路径加查询参数 协议名/版本 POST /xxx http/1.1
Host:服务器域名或IP HOST:www.baidu.com
Accept:text/html Accept:text/html
Content-Type:请求体的格式 Content-Type:text/html
回车 (CRLF)
请求体(也就是上传内容) name=erha
----------------------------------------------------------------------------------------------------------------
协议名/版本 状态码 状态字符串 http/1.1 200 OK
Content-Type:响应体的格式 Content-Type:text/html
回车 (CRLF)
响应体(也就是下载内容) <h1>hello erha<h1>
4、用 curl 构造请求
5、用Node.js 读取请求
| 需求 | 描述 |
|---|
| 读取请求动词 | request.method |
| 读取路径 | request.url:路径,带查询参数、path:纯路径,不带查询参数、query:只有查询参数 |
| 读取请求头 | request.headers['Accept'] |
| | |
6、用Node.js设置响应
| 需求 | 描述 |
|---|
| 设置响应状态码 | response.statusCode=200 |
| 设置响应头 | response.setHeader("Content-Type,'text/html"); |
| 设置响应体 | response.write("内容");可追加内容 |
| | |