网易首页 > 网易号 > 正文 申请入驻

Node中http请求概述收藏分享

0
分享至

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

HTTP

超文本传输协议(HTTP)是用于传输褚如HTML的超媒体文档的[应用层协议]。它被设计用于Web浏览器和Web服务器之间的通信,但它也可以用于其他目的。

HTTP遵循经典的[客户端-服务端模型],客户端打开一个连接以发送请求,然后等待它收到服务器端响应。

HTTP是[无状态协议],意味着服务器不会在两个请求直接保留任何数据(状态)。

HTTP概述

HTTP是应用层的协议,虽然理论上它可以通过任何可靠的传输协议来发送,但是它还是
通过[TCP]或者是[TLS]-加密的TCP连接来发送。

它不仅被用来传输超文本文档,还用来传输图片、视频或者向服务器发送如HTML表单这样的信息。HTTP还可以根据网页需求,仅获取部分Web文档内容更新网页。

HTTP组件系统

HTTP是一个client-server协议:请求通过一个实体(即用户代理)被发出。大多数情况下,这个用户代理都是指浏览器,也可能是一个爬区网页生成维护搜索引擎索引的机器爬虫等。

每一个发送到服务器的请求,都会被服务器处理并返回一个消息(response)。在client和server之间,还有许多的被称为proxies的实体,他们的作用和表现各不相同,比如有些是网关,caches等。

构建http服务

在Web领域,大多编程语言需要专门的Web服务器作为容器,如ASP、ASP.NET需要IIS,PHP需要搭载Apache或Nginx环境,JSP需要Tomcat。而node提供了http模块,基于TCP,内建了HTTP服务,只需几行代码就可构建服务器。如下:

1、HTTP

启动服务器之后,获取报文

通过报文可以看出HTTP的特点,他是基于请求响应式的,以一问一答的方式实现服务,虽然基于TCP会话,但是本身却没有会话的特点。
从协议的角度来说,现在的应用,如浏览器,其实是一个HTTP代理,用户的行为将通过它转换为HTTP请求报文发送给服务器端,服务器端在处理完请求后,发送响应报文给代理,代理在解析报文之后,将用户需要的内容(通常是报文体)呈现在界面上。*
简而言之,HTTP服务只做两件事:处理HTTP请求,发送HTTP响应。
无论是HTTP请求报文还是HTTP响应报文,都包含:报文头和报文体


HTTP请求

报文第二部分中的报文头通过http_parser进行解析,解析之后为:

此时cookie为:req.headers.cookie
cookie格式为key=value;key2=value形式

什么是Cookie、Session

1、Cookie:HTTP是无状态的协议,但现实中的业务处理需要一定的状态,否者就无法区分不同的用户。比如说无需登录京东就可以添加购物车,你每一次添加的物品(多次请求)都到了同一个购物车。这就需要使用Cookie(存在于报文中)来标识和认证同一个账户。(前后端都可以操作Cookie)


Cookie在浏览器和服务器的协作处理分下面几步
1、服务器向浏览器发送Cookie
2、浏览器将Cookie保存
3、之后每次浏览器都会想服务器发送Cookie


Session:由于在前后端都可以操作Cookie,所以有时使用Cookie是不安全的。比如需要更具Cookie中的isVIP字段来判断业务逻辑,但是前端可以篡改它来达到伪造的目的。而Session只保存在后端,对前端不可见,因此对于数据敏感的操作,就需要用到Session。(Session有效期限短)
基于Cookie来实现用户与数据的映射:服务器生成Session口令,传递Cookie,通过Cookie口令与Session口令来实现用户与数据的映射。一旦篡改了Cookie口令,就无法完成映射。并且Session口令过期时间短,之后再生成新的口令,这也是为什么登陆京东一段时间不操作就需要重新登陆。

基础中间件cookie-parser、实现:

报文体抽象为一个只读对象流,如果业务逻辑需要读取报文体中的数据,需要在数据流结束之后才能操作

HTTP响应

1、报文头:res.setHeader()和res.writeHeader()
可以调用setHeader进行多次设置,但只有调用了writeHead之后,报头才会写入链接中。
报文体:res.write()和res.end()
它们的区别在于res.end()会先调用res.write()发送数据,之后通知服务器这次响应结束。,

HTTP客户端

HTTP客户端原理与服务器端相同。HTTP客户端是服务器端服务模型的另一部分,处于HTTP的另一端,在整个报文的参与中,报文头和报文体由它产生。同时http模块提供了一个底层API:http.request(options, connect),用于构建HTTP客户端,如下:

开启服务器后运行它,作用相当于 curl -v Http: //127.0.0.1:1337/。

参数请求:

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
中国GDP已经滑落到美国的59%了,这是怎么了?

中国GDP已经滑落到美国的59%了,这是怎么了?

老道闲聊
2024-05-07 11:54:26
正要入睡,股市突发大消息,有个让2亿股民气愤,A股要承压?

正要入睡,股市突发大消息,有个让2亿股民气愤,A股要承压?

彩云的夕阳
2024-05-10 00:29:39
首冠诞生!王楚钦孙颖莎光速打卡,3-0完胜,斩获6万奖金!

首冠诞生!王楚钦孙颖莎光速打卡,3-0完胜,斩获6万奖金!

乒谈
2024-05-09 23:59:18
义乌年轻医生下班后摆摊,日进1500元引热议,评论区都是人间清醒

义乌年轻医生下班后摆摊,日进1500元引热议,评论区都是人间清醒

东东趣谈
2024-05-09 16:10:33
河南64岁大爷五年间染指55名女性,只因太了解女性心理

河南64岁大爷五年间染指55名女性,只因太了解女性心理

真实故事汇
2024-05-06 13:31:30
卡米拉再次拉稀,丢脸丢到法国去了。次日不畏惧拉稀,大吃海喝

卡米拉再次拉稀,丢脸丢到法国去了。次日不畏惧拉稀,大吃海喝

闪耀时刻娱乐
2024-04-26 19:00:58
俄外交部:俄感谢中国一贯拒绝参加涉乌问题“伪会议”的做法

俄外交部:俄感谢中国一贯拒绝参加涉乌问题“伪会议”的做法

俄罗斯卫星通讯社
2024-05-09 15:13:00
CCTV5直播:孙颖莎3-0冲冠,陈梦VS张本美和,王艺迪VS伊藤美诚

CCTV5直播:孙颖莎3-0冲冠,陈梦VS张本美和,王艺迪VS伊藤美诚

全能体育柳号
2024-05-09 11:47:09
辱华留学生事件后续:已刑拘 其父亲身份家庭背景被扒 果然有情况

辱华留学生事件后续:已刑拘 其父亲身份家庭背景被扒 果然有情况

鋭娱之乐
2024-05-08 17:30:13
于文文演唱会穿紧身裤,私密部位轮廓明显,“体面”真的不体面了

于文文演唱会穿紧身裤,私密部位轮廓明显,“体面”真的不体面了

娱乐八卦木木子
2024-05-09 19:48:00
超尴尬!张维为竟被当面提问“作为过来人讲讲如何办瑞士永居”!

超尴尬!张维为竟被当面提问“作为过来人讲讲如何办瑞士永居”!

故园老丁
2024-05-09 17:10:57
扛住了!王艺迪3-1领先险被逆转,伊藤美诚战至抢七,3-4出局!

扛住了!王艺迪3-1领先险被逆转,伊藤美诚战至抢七,3-4出局!

乒谈
2024-05-09 22:18:56
闹大了!假日办宣布端午节放假不调休!惹众怒,网友有必要调休吗

闹大了!假日办宣布端午节放假不调休!惹众怒,网友有必要调休吗

趣味萌宠的日常
2024-05-09 23:58:26
捷克批评西方在乌克兰问题上糊涂:你们看不出现在和二战前多像吗

捷克批评西方在乌克兰问题上糊涂:你们看不出现在和二战前多像吗

探索星空
2024-05-09 11:39:28
强对流天气蓝色预警:京津冀等地部分地区将有8-10级雷暴大风或冰雹天气

强对流天气蓝色预警:京津冀等地部分地区将有8-10级雷暴大风或冰雹天气

界面新闻
2024-05-09 18:16:34
沙特大满贯:女单4强全部出炉,国乒独占3席!孙颖莎轰11-0打疯了

沙特大满贯:女单4强全部出炉,国乒独占3席!孙颖莎轰11-0打疯了

雷米先生
2024-05-10 03:16:38
预告:国家卫健委将召开新闻发布会

预告:国家卫健委将召开新闻发布会

财联社
2024-05-09 10:08:17
百度副总裁璩静已从公司离职?网友:她的离职申请被秒批了!

百度副总裁璩静已从公司离职?网友:她的离职申请被秒批了!

火山诗话
2024-05-09 21:27:51
东莞多个小区住户提出质疑:更换燃气表后费用异常上涨?

东莞多个小区住户提出质疑:更换燃气表后费用异常上涨?

南方都市报
2024-05-09 20:11:19
新周期来临 主观策略的机遇和挑战

新周期来临 主观策略的机遇和挑战

私募荟
2024-05-09 09:58:39
2024-05-10 04:10:44
麦田守望客
麦田守望客
90后码农,爱研究瞎折腾,爱文学烂笔头。
525文章数 1194关注度
往期回顾 全部

科技要闻

消息称百度副总裁璩静已离职

头条要闻

29岁女村支书回应"显老":孩子已经1岁 没买过口红

头条要闻

29岁女村支书回应"显老":孩子已经1岁 没买过口红

体育要闻

用50万欧元,换一场绝境逆转!

娱乐要闻

高亚麟魏嘉同框画面曝光,当时已产女

财经要闻

全国限购仅剩6地!住房限购令 已近尾声

汽车要闻

可以动心了 海狮07EV空间够大/车机智能加BUFF

态度原创

手机
教育
时尚
数码
健康

手机要闻

荣耀200和OPPO Reno12 Pro均再次被确认:线下机大战,即将打响!

教育要闻

解题有捷径,做错的同学一定不要气馁,按照规则慢慢来!

穿真丝衬衫的女人,自带高级感 | 好物

数码要闻

跑分数据显示苹果M4比M2快45% 比M3快25% 也优于骁龙 X Elite和M3 Pro

春天野菜不知不识莫乱吃

无障碍浏览 进入关怀版