文档章节

nodejs 基础 + http

GZhiDao
 GZhiDao
发布于 2015/12/10 15:24
字数 1240
阅读 58
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

CRUD应用:创建、读取、更新、删除

AngularJS双向数据绑定
your name:<input type="text" ng-model="yourname" placeholder="world">
hello {{yourname || 'world'}}!

AngularJS应用三个组成部分:
模板:HTML/CSS
应用程序逻辑Logic和行为Behavior
模型数据Data :通过作用域来保持数据模型与视图界面UI的双向同步

服务特性:
底层服务:依赖注入,XHR,缓存,URL路由和浏览器抽象服务
可以扩展和添加自己特定的应用程序

nodejs

1.下载 angular-phonecat 文件 在e:盘

2.git bash默认路径也是在e:盘
3.用 git bash  输入
mkdir scott 回车
ls 回车 --》看到当前目录的所有文件
cd scott
ls
cd imooc/beginning (scott文件里的文件)
li
node server.js -->运行 server.js


URL:定位
URI:标识

打开node的URL文档 http://nodejs.cn/api/url.html

git bash-->
node -->
url-->
1.url.parse('http://imooc.com/course/list') -->
显示:Url {
  protocol: 'http:', 底层协议
  slashes: true,
  auth: null,
  host: 'imooc.com', 网址
  port: null, 端口 默认为8080
  hostname: 'imooc.com', 主机名
  hash: null,
  search: null, 查询字符串参数
  query: null,
  pathname: '/course/list', 路径名
  path: '/course/list', 路径
  href: 'http://imooc.com/course/list'  超链接
}

2.url.parse('http://imooc.com:8080/course/list?from=scott&course=node#floor1') -->

显显示 Url {
  protocol: 'http:',
  slashes: true,
  auth: null,
  host: 'imooc.com:8080',
  port: '8080',
  hostname: 'imooc.com',
  hash: '#floor1',
  search: '?from=scott&course=node',
  query: 'from=scott&course=node',
  pathname: '/course/list',
  path: '/course/list?from=scott&course=node',
  href: 'http://imooc.com:8080/course/list?from=scott&course=node#floor1' }

3.url.format({
protocol: 'http:',
  slashes: true,
  auth: null,
  host: 'imooc.com:8080',
  port: '8080',
  hostname: 'imooc.com',
  hash: '#floor1',
  search: '?from=scott&course=node',
  query: 'from=scott&course=node',
  pathname: '/course/list',
  path: '/course/list?from=scott&course=node',
  href: 'http://imooc.com:8080/course/list?from=scott&course=node#floor1'
}) -->
显示http://imooc.com:8080/course/list?from=scott&course=node#floor1

4.url.resolve('http://imooc.com','/course/list') -->
显示 http://imooc.com/course/list


5.url.parse('http://imooc.com:8080/course/list?from=scott&course=node#floor1',

true)
-->
显示 Url {
  protocol: 'http:',
  slashes: true,
  auth: null,
  host: 'imooc.com:8080',
  port: '8080',
  hostname: 'imooc.com',
  hash: '#floor1',
  search: '?from=scott&course=node',
  query: {from:'scott',course:'node'},   不同地方 变成了对象
  pathname: '/course/list',
  path: '/course/list?from=scott&course=node',
  href: 'http://imooc.com:8080/course/list?from=scott&course=node#floor1' }

6.url.parse('//imooc.com/course/list',true,true)  -->
Url {
  protocol: null,
  slashes: true,
  auth: null,
  host: 'imooc.com',
  port: null,
  hostname: 'imooc.com',
  hash: null,
  search: '',
  query: {},
  pathname: '/course/list',
  path: '/course/list',
  href: '//imooc.com/course/list' }

协议 端口号 主机 主机名 哪些是hash   来标识唯一的特定资源

url的作用:识别路径 访问数据

HTTP的重要性:
http:就是协议
流程:
http客户端发起请求,创建端口
http服务器在端口监听客户端请求
http服务器向客户端返回状态和内容
具体如下:
1.Chrome 搜索自身的DNS缓存
2.搜索操作系统自身的DNS缓存(浏览器没有找到缓存或缓存已经失效)
3.读取本地的HOST文件
4.浏览器发起一个DNS的一个系统调用
5.浏览器获得域名对应的IP地址后,发起HTTP “三次握手”
6.TCP/IP连接建立起来后,浏览器就可以向服务器发送HTTP请求了使用了,比如说:用http的

GET方法请求一个根域里的一个域名,协议可以采http1.0的一个协议
7.服务器端接受到了这个请求,根据路径参数,经过后端的一些处理之后,把处理的一个结果

的数据返回给浏览器。如果是百度的页面,就回把完整的hTML页面代码返回给浏览器
8.浏览器拿到了百度的完整的HTML页面代码,在解析和渲染这个页面的时候,里面的JS CSS

图片静态资源,一个HTTP请求,都是需要经过上面主要的七个步骤。
9.浏览器根据拿到的资源进行渲染显示

http1.0的请求方法:
GET 读取数据
POST 提交数据
PUT 更新内容
DELETE 删除
HEAD 发出指定资源的请求
TRACE
OPTIONS

客户端 --》 服务器 --》

浏览器向服务器发起请求的流程:
接受请求后

chrome://net-internals/#dns 查看浏览器的DNS缓解记录

HTTP进阶
什么是回调
案例:
function learn(something){
    console.log(something)
}

function we(callback,something){
    something += ' is cool'
    callback(something)
}
we(learn,'nodejs')

we(function(something){
    console.log(something)
},'jade')

显示:
nodejs is cool
jade is cool


什么是同步/异步
同步:就执行一个任务后再执行下一个任务,只能按顺序执行

异步:每个任务都有几个回调函数



什么的单线程/多线程
单线程:单个进行
多线程:同时进行多个

什么是I/O:数据的进/出


什么是阻塞/非阻塞 :
什么是事件:鼠标点击是一个事件
什么是事件驱动:
什么是基于事件驱动的回调
什么是事件循环

什么是作用域:全局 局部
访问函数的能力

什么是上下文:
是调用当前代码的引用 this指向调用这个方法的对象
全局变量使用this,指向函数拥有者
构造函数使用this,指向新构建好的函数,实例对象。




© 著作权归作者所有

GZhiDao
粉丝 6
博文 119
码字总数 89796
作品 0
广州
前端工程师
私信 提问
加载中

评论(0)

Node.js 入门到干活,10 个优质项目就够了! - 知乎

Node.js 在很多大公司都有不错的实践,比如:淘宝、天猫 Web 版,很多页面都是在 Node 服务器上渲染的。还有各种脚手架、前端打包发布工具、构建生态的小工具,也基本都是 Node.js 编写的。 ...

编程教室
2019/10/25
0
0
Node.js 入门到干活,10 个优质项目就够了!

Node.js 在很多大公司都有不错的实践,比如:淘宝、天猫 Web 版,很多页面都是在 Node 服务器上渲染的。还有各种脚手架、前端打包发布工具、构建生态的小工具,也基本都是 Node.js 编写的。 ...

osc_j89isia8
2019/10/25
8
0
iKcamp新书上市《Koa与Node.js开发实战》

内容摘要 Node.js 10已经进入LTS时代!其应用场景已经从脚手架、辅助前端开发(如SSR、PWA等)扩展到API中间层、代理层及专业的后端开发。Node.js在企业Web开发领域也日渐成熟,无论是在API...

iKcamp
2018/12/27
0
0
5个提高Node.js应用性能的技巧

“如果你的 node 服务器前面没有 nginx, 那么你可能做错了。”— Bryan Hughes Node.js 是使用 最流行的语言— JavaScript 构建服务器端应用的领先工具 。由于可以同时提供 web 服务器和应用...

力谱宿云
2016/04/14
507
0
初学node.js-nodejs安装运行(1)

1.Node.js中文官网http://nodejs.cn/download/下载node.js 学习node.js需要有javascript基础,没有基础的可以在http://www.w3school.com.cn/js/index.asp上学习 下载好后,直接安装。 2.开发工...

osc_rx2gh7b8
2019/04/13
5
0

没有更多内容

加载失败,请刷新页面

加载更多

时间片轮询法

时间片轮询法 时间片轮询法是一种比较简单易用的系统架构之一,它对于系统中的任务调度算法是分时处理。核心思路是把 CPU 的时间分时给各个任务使用。我们常用的定时方法是定时器,把调度器放...

osc_j7rfhwi0
48分钟前
15
0
二项堆(三)之 Java的实现

概要 前面分别通过C和C++实现了二项堆,本章给出二项堆的Java版本。还是那句老话,三种实现的原理一样,择其一了解即可。 目录 1. 二项树的介绍 2. 二项堆的介绍 3. 二项堆的基本操作 4. 二项...

osc_ct8a6sdg
49分钟前
9
0
Windows 10 安装 Hadoop 2.10

  1. 配置JAVA_HOME环境和Hadoop环境:      2. 配置bin   3. 进入Hadoop中/etc/hadoop下     配置hdfs-site.xml增加:    <property> <!-- 单节点,所以配置成1 -->...

osc_jmtenr3d
49分钟前
32
0
如何让你在众多二手车中挑中满意的?python帮你实现(附源码)

前言 老司机带你去看车,网上的几千条的二手车数据,只需几十行代码,就可以统统获取,保存数据到我们本地电脑上 知识点: 1.python基础知识 2.函数 3.requests库 4.xpath适合零基础的同学 ...

osc_rmqoxylv
50分钟前
12
0
Selenium IDE使用指南三(控制流)

Selenium IDE附带的命令使您可以添加条件逻辑和循环到测试中。 这使您仅在满足应用程序中的某些条件时才执行命令(或一组命令),或根据预定义的标准重复执行命令。 JavaScript表达式 通过使...

分布式编程
50分钟前
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部