1、http协议

HTTP协议是应用层通信协议,规定浏览器与服务器的交互规则。请求报文包括请求行、请求头、空行和请求体,GET和POST是常见的请求类型。响应报文包含响应行、响应头、空行和响应体。GET通常用于获取数据,显示在URL上,而POST更安全,用于提交数据,参数在请求体中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、http协议

http协议:hypertext transport protocol超文本传输协议
基于TCP/IP的应用层通信协议,规定了浏览器(客户端)服务器端之间的通信规则
客户端:向服务端请求数据,发送请求报文
服务端:向客户端返回数据,发送响应报文
客户端和服务端数据交互

二、请求报文组成

1、请求行

(1) 请求类型:get/post/patch/delete
(2) 请求url:在域名之后,从"/"开始
例如:http://www.baidu.com**/index.html**?a=100&b=200
(3) http协议版本号:HTTP/1.1

【注】:浏览器输入任何网址,输入回车,这个网站的访问方式一定是get。
【注】:本机地址——localhost——127.0.0.1,表示的是当前计算机本身。

2、请求头:request.headers(可以自定义)

3、空行

4、请求体

请求体内容可以是空 ===> GET请求
请求体内容可以是字符串/JSON ===>POST
字符串:请求字符串(参数名=参数值&参数名=参数值):keywords=手机&price=2000
JSON:(键名必须是双引号,键值如果是字符串也必须是双引号):{“keywords”:“手机”,“price”:2000}

【注】:get虽然没有请求体,但是可以将 需要向服务端传递的数据 表现在地址栏----->请求url—>查询字符串(后期可以使用内置模块url的parse方法)(?参数名=参数值&参数名=参数值,即?后边的内容,这种格式就叫做请求字符串/查询字符串,是附加在请求的url的后面。 )

三、响应报文组成

1、响应行

(1)响应状态码 response.statusCode
(2)响应状态字符串 response.statusMessage

响应状态码: response.statusCode 可读可写
响应状态字符串:response.statusMessage可读可写
200 ok
404 Not Found 找不到网页,目标URL的服务器地址不存在
500 服务器相关的错误(代码出错了)

2、响应头

Content-Type : text/html; charset=utf-8
Content-Type:服务端给客户端发回来的响应内容的类型
text/html:纯文本
当响应体为end方法,且内容是中文,则必须设置该响应头

request.setHeader(‘头名’,‘头值’)
request.writeHead(响应状态码,{‘头名’,‘头值’})

3、空行

4、响应体

响应体的内容类型灵活,常见的类型有:HTML、css、js、图片、JSON、视频、音频、font…
response.end()
response.write()

四、http搭建服务

//Step1:引入模块
const http = require('http');

//Step2:创建服务
const server = http.createServer((request,response) => {
	response.end('xxx');
})

//Step3:设置监听端口
server.listen(80,() => {
	console.log('80端口正在运行中...');
})

五、get和post的区别

GET和POST是HTTP协议请求的两种方式。

1.使用场景

GET通常用来获取数据
POST通常用于提交数据

2.表现形式

GET 带参数请求是将参数缀到URL之后,在地址栏中输入url访问网站就是GET请求,
POST带参数请求是将参数放到请求体中(参数名=参数值&参数名=参数值)

3.传递数据大小

GET基本传递数据不到2KB
POST大小基本不上限(但是可以通过后台代码(java.php…)来设置

4.安全性

POST更安全,GET安全系数较低

get和post使用场景

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值