美文网首页
node 后端知识+HTTP

node 后端知识+HTTP

作者: 九旬大爷的梦 | 来源:发表于2018-10-17 17:40 被阅读40次

    Node.js的特点:
    1.单线程
    优点:节省内存,事件驱动机制 ,异步回调,
    劣势:不能做高并发开发,适合小型服务器架构开发
    2.非阻塞IO
    异步IO,事件驱动(回调/异步函数),
    3.事件驱动
    解决非阻塞IO 的问题,根据事件环的排序或者优先级来决定先解决那个事件,
    总结:
    node.js是在单线程的基础上加了非阻塞IO和事件驱动

    node.js的应用方向
    特点:
    擅长大量并发的IO如聊天应用,
    不擅长计算,
    天生异步
    使用场景:
    适合网站开发
    适合做即时聊天
    写API
    构建工具 webpack
    写操作系统
    命令行 反向代理

    node解决的问题
    是极客追求性能的产物,缺少了很多服务器健壮的考虑,所以node不适合在银行,证券业务中
    但是适合中小企业、创业公司做核心业务
    大型公司会使用node在前端和后端之间做中间层

    web资源
    什么是web web网页,它是用于表示网络主机上供外界访问的资源。
    web资源分类
    静态web资源指web页面中人们浏览的数据始终不变
    动态web资源
    指web页面中的人们浏览的数据是由程序产生的,不同时间访问web页面看懂的内容各不相同,
    web资源方哪里:
    放在web服务器中
    web服务器就是可以提供外界访问web资源的一个软件,
    web资源放到指定的目录当中 ,就可以在对应的端口在浏览器中访问的。80 8080...

    URL地址:
    协议://主机地址:端口号/资源地址
    比如: http://www.baidu.com/index.html

    资源其实就是放在网上的一个文件目录里包
    通过网址/路径去访问资源
    端口号==软件的门牌号


    9dba0166d226a6681cdfdde9c11e499.png

    CS和BS:
    软件使用方式上的两种划分
    C/S(app/桌面): Client/Server--PC客服端、服务器端架构
    特点:
    1.特点:服务器就只有一个数据库,业务逻辑和界面交给客服端完成
    2.优点:安全 页面丰富-用户体验好
    3.缺点:每次升级都需要安装,可移植性差,不可跨平台(安卓/ios/win)
    B/S:Browser/Server(网站)--浏览器/服务器架构
    特点:居于浏览器访问的应用,业务层教改服务器端,客户端仅仅做界面的渲染和数据的交互,
    优点:只开发服务器端,可以跨平台,移植性好
    缺点:安全性低,用户体验差。

    资源访问流程:
    客户端:
    浏览器为核心的安卓/苹果/微信小程序
    服务器:
    php--- node-js---tom-cat
    从输入url回车到页面显示,发生了什么:
    一个网址就是对应一个Ip地址;ping 网址
    ip通过dns解析到指定域名
    通过IP地址找到对应的电脑,
    电脑当中安装有web服务器,通过端口号找到对应的服务器
    所以输入对应的域名会返回对应ip下对应端口号下对应文件目录下的对应页面
    这就是一个HTTP请求的过程

    请求和响应
    请求:把服务器请求发送到服务器
    响应:服务端吧你要的数据发给客户端
    请求和响应都要有一定的格式:
    约定好客户端以什么样的格式吧数据给服务器
    约定好服务端以什么样的格式吧数据给客户端
    这个约定就是HTTP协议

    e326f8c888b3c0d03655a384b36e17c.png

    Http协议:
    约束双方规范的准则---超文本传输协议--所有的www的(域名)文件都必须接受这个标准
    约束请求和响应的规则
    请求和响应都是成对出现的。
    请求的发送方式:
    1.浏览器地址栏
    2.HTML中的form表单
    3.a标签的链接
    4.src属性
    HTTP请求:
    请求行:
    请求方式 post gei
    请求资源 HTTP1.1版本
    请求头(Response Header):
    键值对的形式
    Cookie:content-type-
    自动把这个信息发送给服务器
    请求体:
    请求方式是post时 请求体会出现请求的参数
    get请求是 请求参数不会出现在请求体中,会拼在url地址后面

    a3f09eabc55b9d4d399e78509df7307.png

    http响应:
    响应行
    1.http协议
    2.状态码:200=成功-302=重定向,500=服务器错误
    3.其他状态码:2xx=成功,3xx=重定向,4xx=客户端错误,5xx=服务器错误

    响应头:
    1.location content-type..server 等 把服务器端的信息和数据格式传给客户端,

    响应体:
    返回客户端的正文
    浏览器加载到内存
    然后解析到渲染页面

    请求方式:
    get::
    主要用于向页面请求发送参数
    地址和参数中间用?号隔开,
    查询字符串会显示在地址栏中 不安全
    有大小限制 最多124字符
    能缓存
    主要用于获取数据
    post::
    主要用于请求发送参数
    发送的信息单独存放 和HTTP请求一起
    没有参数类型限制
    比较安全
    查询字符串不会显示在地址栏中
    post传输量比较大 可以有2m

    post 主要用于将数据传递到服务器 (提交表单)
    get 就是为了从服务器中获取数据

    相关文章

      网友评论

          本文标题:node 后端知识+HTTP

          本文链接:https://www.haomeiwen.com/subject/brvhzftx.html