node.js基础 1之 HTTP知识填坑
http使用流程:
http协议
http 客户端发起请求,创建端口
http 服务器在端口监听客户端请求
http 服务器向客户端返回状态和内容
解析域名查找dns(资源)的过程:
1、chrome搜索自身的dns缓存(chrome://net-internals/#dns)

这里可以看到浏览过的内容页面
2、第一步没找到就搜索操作系统自身的DNS缓存(浏览器没有找到缓存或缓存已经失效,即第一步没找到)
3、再找不到就 读取本地的HOST文件

4、浏览器发起一个DNS的一个系统调用
①宽带运营商服务器查看本身的缓存
②运营商服务器发起一个迭代DNS解析请求 5.浏览器获得域名对应的IP地址后,发起HTTP"三次握手"
6.TCP/IP连接建立起来后,浏览器就可以向服务器发送HTTP请求了
7.服务器端接收请求,根据路径参数,经过后端的一些处理,把处理后的一个结果的数据返还给浏览器
8.浏览器解析和渲染页面,里面的JS、CSS、图片静态资源同样经过上面的主要的7个步骤
node.js基础 1之 HTTP知识填坑的更多相关文章
- Node.js进击基础一(5-5http知识填坑)
蚂蚁部落:谷歌浏览器network用法详解 http://www.softwhy.com/forum.php?mod=viewthread&tid=19119 按下f12->Networ ...
- Node.js基础知识
Node.js入门 Node.js Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设在POSIX环境下运行 ...
- NodeJs>------->>第三章:Node.js基础知识
第三章:Node.js基础知识 一:Node.js中的控制台 1:console.log.console.info 方法 console.log(" node app1.js 1> ...
- Node.js基础与实战
Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP& ...
- node.js基础模块http、网页分析工具cherrio实现爬虫
node.js基础模块http.网页分析工具cherrio实现爬虫 一.前言 说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http.网页分析工具cherri ...
- 10慕课网《进击Node.js基础(一)》初识promise
首先用最简单的方式实现一个动画效果 <!doctype> <html> <head> <title>Promise animation</titl ...
- 进击Node.js基础(二)
一.一个牛逼闪闪的知识点Promise npm install bluebird 二.Promise实例 ball.html <!doctype> <!DOCTYPE html> ...
- 07慕课网《进击Node.js基础(一)》HTTP小爬虫
获取HTML页面 var http = require('http') var url='http://www.imooc.com/learn/348' http.get(url,function(r ...
- 03慕课网《进击Node.js基础(一)》API-URL网址解析
url url.parse(url,query,host);解析域名 url必须,地址字符串 query可选 host 可选:在不清楚协议时正确解析 querystring 字符串和对象之间互相解析 ...
随机推荐
- Android数字签名
描述你对Android数字签名的理解? 数字签名就是为程序打上一个标记来作为自己的标识,是Android系统要求的,若一个Android程序没有经过数字签名,没办法安装到系统: 签名也是对apk的一种 ...
- js仿微信语音播放
html结构如下: <div class="app-voice-you" voiceSrc="xx.mp3"> <img class=&quo ...
- Linux下的Hello world
总算正式开始学习Linux了. 先从Hello world入手. 1. 查看当前目录 lenovo@ubuntu:~$ pwd /home/lenovo 2. 新建test目录 lenovo@ubun ...
- Xcode 8.2 想使用插件 怎么办? 教你科学的使用插件
楼主属于重度插件依赖党之前装了XcodeGr8 不过每次打开xcode第一次执行cmd+s保存的时候,会卡住很长时间,导致我很不爽[ 虽然使用https://github.com/fpg1503/Ma ...
- ASP.NET MVC5----基本用法
由于之前在项目中也使用MVC进行开发,但是具体是那个版本就不是很清楚了,但是我觉得大体的思想是相同的,只是版本高的在版本低的基础上增加了一些更加方便操作的东西.下面是我学习ASP.NET MVC5高级 ...
- html5 drag
这里是学习html5的拖放功能.这个API主流浏览器基本支持.ie浏览器是有限支持,dataTransfer.setData/getData. 在html5里面,任何元素都是可以拖放的. 需要拖放的元 ...
- CSS3中毛玻璃效果的使用方法
今天在使用icloud的时候看到苹果icloud官网的毛玻璃效果非常赞,仔细研究了一下它的实现方式,是使用js配合background-image: -webkit-canvas的形式绘制出的毛玻璃背 ...
- 精通AngularJS 读书笔记(2)
AngularJS 速成 视图 因为AngularJS 依靠浏览器去解析模板,所以要保证模板是有效的HTML.尤其要小心闭合号HTML标签(未闭合好的标签不会产生任何错误信息,但会让视图不能正确渲染) ...
- ThinkPhp的搭建
一般而言,环境的搭建都是很复杂的,但是说句实话,php的环境是我见过最简单的,首先下载一个XAMPP集成软件包(这种软件包还有好多,但是我还是喜欢这个啊),然后直接安装,一路NEXT下午就ok了. 这 ...
- angularjs $broadcast 和 $on 的使用及其注意事项
下面是demo: <div ng-controller="ParentCtrl"> www.111cn.net //父级 <div ng-controller=& ...