2019-10-28HTTP协议

1.1HTTP协议的概念

客户端和服务器端沟通的规范:

为什么要有这个规范?

答:网站应用在运行的过程中,服务器端需要知道客户端请求了什么,客户端知道服务器端响应了什么,不能鸡同鸭讲。需要一个双方都能听懂的语言。

HTTP协议:超文本传输协议,规定了如何从网站服务器传输超文本到本地浏览器,它基于客户端服务器架构工作,是客户端(用户)和服务器端(网站)请求和应答的标准。

1.2报文

客户端和服务器端在进行请求和响应过程中,所携带的数据块,俩者对话的说明以及内容。

报文:请求报文、响应报文

请求报文:客户端向服务器端发送请求所携带的数据块(客户端对服务器所说的话)

响应报文:服务器端对客户端进行响应所携带的数据块(服务器对客户端说的话)

数据块:包含了请求和响应的相关信息,比如用户在登录时输入的用户名和密码被包含在请求数据块中进行传递的。当前登录时成功还是失败就包含在响应数据块中。

报文在传输过程中。遵循规定的格式,以   :进行分割的键值对

在哪能看到报文信息?

借助浏览器提供的开发者工具:Network,刷新浏览器

显示:search.html

search.jpg

favicon.ico

随便打开一个请求search.html(点击)

在右侧出现Headers Preview Response Cookies Timing

点击Headers 

显示:General                      // 显示比较重要的信息,核心的信息

Response Headers(7)         // 响应报文(服务器端对客户端)

Request Headers(11)         // 请求报文(客户端对服务器端)

打开Request Headers(11) 

显示: Accept:                          // 接收(告诉服务器端当前客户端能接收html文件,图片以及一些其他文件)

点击Response

显示的服务器端响应给客户端具体的内容

1.3请求报文

①请求方式:GET 请求数据、POST 发送数据

PS:请求方式就是一种标识,告诉服务器端当前这次请求要做的这个事情的类型,比如说获取数据的请求(一般都用GET),如果是添加数据的请求(就要POST),如果都不是,而是网站中的一般逻辑,比如登入操作(也用POST)

PS:POST这种方式相对GET要安全一些。

客户端如何向服务器端发送get或者post请求呢?

最常见的get请求,就是通过浏览器中的地址通过输入网址的方式,如何证明?

服务器端能获取客户端请求方式。

req:就是请求对象,它包含了请求相关的信息,其中就包含了请求方式。

如何获取请求方式?

req.method

app.js中  console.log(req.method);

打开网站:localhost:3000

命令行窗口:有请求方式输出GET

疑惑:为什么有2个GET输出?1个是输入localhost请求,1个是浏览器自带图标请求

如何发送post请求?

在server文件夹下新建form.html文件,并生成html头

你可能感兴趣的:(2019-10-28HTTP协议)