七层网络协议

应用层:浏览器(http,FTP,DNS,SMTP,TeInet)(邓哥)
表示层:加密,格式转换(怕别人偷看,加密摩斯电码)
会话层:解除或者建立和其他节点的联系(邓哥在想追这个女孩,不再搭理其他女孩)
传输层:TCP/UDP(TCP:告诉我送到了,我再睡觉;UDP:你去送吧,我睡觉去了)
网络层:IP,ICMP,RIP,BGP(送信地址)
数据链路层:如何传输(搭乘什么样的交通工具过去)
物理层:OSI的物理层规范(搭乘工具的时候,是什么速度)

返回码

200:服务器成功返回网页(收到信了)

404:所请求页面不存在或已删除(没找到这个人)

302:重定向(人搬家了,搬到了上海)

502:服务器超时(地方找到了,人也在,就是不开门)

304:自从上次请求后,请求的网页未修改过(还看刚才那封信就行)

Http

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,又称超文本

1.Request:发送有两部分:请求头、数据体(文本格式,二进制格式)

2.Response:返回有两部分:返回头、数据体

3.Cache-Control:

可否缓存

Public:可以被任何中间缓存,包括服务器,代理服务器等等
Private:只能被一个东西缓存(代理服务器不能缓存)
No-cache:不要相信缓存,使用缓存前,要向服务器验证一下
Only-if-cached:只要有缓存,就不要请求服务器
到期时间

Max-age:缓存的最大周期(单位是秒)
Max-stale:表示客户端愿意接受一个过期的资源,但是相应不能超过设置的过时时间
Min-fresh:表示客户端希望在指定的时间内获得最新响应
重新验证加载

Must-revalidate:在使用缓存之前验证资源的状态,如果资源过期则不能使用
Proxy-revalidate:和上面的作用相同,适用于共享缓存(比如代理服务器)
No-store:不使用缓存
No-transform:不许对缓存资源进行转换或者转码
---------------------

node.js(http协议)的更多相关文章

  1. 基于Unix Socket的可靠Node.js HTTP代理实现(支持WebSocket协议)

    实现代理服务,最常见的便是代理服务器代理相应的协议体请求源站,并将响应从源站转发给客户端.而在本文的场景中,代理服务及源服务采用相同技术栈(Node.js),源服务是由代理服务fork出的业务服务(如 ...

  2. Node.js npm 详解

    一.npm简介 安装npm请阅读我之前的文章Hello Node中npm安装那一部分,不过只介绍了linux平台,如果是其它平台,有前辈写了更加详细的介绍. npm的全称:Node Package M ...

  3. Node.js学习笔记——Node.js开发Web后台服务

    一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...

  4. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  5. Node.js简单操作

    在node中是不支持BOM和DOM操作的,所以像alert().document.write...都是不支持的,可以是console.log() 首先我们来输出"hello world&qu ...

  6. Node.js学习——HTTP

    HTTP Node.js开发的目的就是为了用JavaScript编写Web服务器程序.因为JavaScript实际上已经统治了浏览器端的脚本,其优势就是有世界上数量最多的前端开发人员.如果已经掌握了J ...

  7. 使用Node.js+Socket.IO搭建WebSocket实时应用

    Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新.它有着广泛的应用场景,比如在线聊天室.在线客服系统.评论系统.WebIM等. W ...

  8. VS轻松开发Node.js应用

    PTVS开发团队又开发出一款可以在VS里编写Node.js应用程序的插件--NTVS(Node.js Tools for Visual Studio),开发者可以在VS里轻松开发Node.js应用. ...

  9. Edge.js:让.NET和Node.js代码比翼齐飞

    通过Edge.js项目,你可以在一个进程中同时运行Node.js和.NET代码.在本文中,我将会论述这个项目背后的动机,并描述Edge.js提供的基本机制.随后将探讨一些Edge.js应用场景,它在这 ...

  10. (翻译)《Hands-on Node.js》—— Introduction

    今天开始会和大熊君{{bb}}一起着手翻译node的系列外文书籍,大熊负责翻译<Node.js IN ACTION>一书,而我暂时负责翻译这本<Hands-on Node.js> ...

随机推荐

  1. eclipse常见使用方法

    1.修改字体大小,字符类型(设置为中欧字符) window-preferences-General-Appearance-Colors and Fonts-Basic-Text Font修改 2.展示 ...

  2. css字体中英速查表

    例1(小米米官网):font-family: "Arial","Microsoft YaHei","黑体","宋体",s ...

  3. iOS 中长按手势回调会被触发过两次

    Long-press gestures are continuous. The gesture begins (UIGestureRecognizerStateBegan) when the numb ...

  4. Linux 基础命令 持续更新中...

    1.ls 显示当前文件/文件夹 显示文件大小: ls -lh  显示隐藏文件: ls -a 显示文件详细信息: ls -l (ll)2.pwd 显示当前所在路径 cat 显示当前文件下所有内容3.cd ...

  5. Requests库入门实例

    爬虫入门5个实例 实例1:京东商品页面的爬取 import requests def getHTMLText(url): try: r = requests.get(url,timeout = 30) ...

  6. 微信小程序开发笔记1,认识小程序的项目构成

    省去安装和基本操作, app.js脚本文件 qpp.json配置文件(添加删除页面,都要在这个文件下修改入口配置) app.wxss样式表文件 app前缀为全局的 在app.json中配置项目的每个页 ...

  7. 使用Properties类和ResourceBundle类读取properties文件

    一.介绍: 项目中经常把一些常用的用户名和密码都填写到一个对应的配置文件中,这样每次修改密码或者用户名的时候就可以直接修改这个配置文件了,不用动源码. 这里讲两种方式读取properties文件的方法 ...

  8. chrome断点调试&&其他技巧

    chrome断点调试 1. 在编写JavaScript代码时,如果 出现了bug,就要不断的去找错误,如果console控制台中提示还好说,可是没有提示恐怕就要费一番周折了.但是有了chrome这个浏 ...

  9. java数据结构之二叉树遍历的非递归实现

    算法概述递归算法简洁明了.可读性好,但与非递归算法相比要消耗更多的时间和存储空间.为提高效率,我们可采用一种非递归的二叉树遍历算法.非递归的实现要借助栈来实现,因为堆栈的先进后出的结构和递归很相似.对 ...

  10. Python -- Gui编程 -- MFC的使用

    1.消息框 mfcDialog.py import win32ui import win32con from pywin.mfc import dialog class MyDialog(dialog ...