七层网络协议

应用层:浏览器(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. Retrofit源码解析(上)

    简介Retrofit是Square公司开发的一款针对Android网络请求的框架,官网地址http://square.github.io/retrofit/ ,在官网上有这样的一句话介绍retrofi ...

  2. Kafka文件存储机制

    一.topic中partition存储分布 在本地的kafka中,我们只启动一个broker,创建两个topic:single-todo和single-todo-vip ,每个topic有两个part ...

  3. html基础+常用标签

    概述 HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他,这样就可以让浏览器 ...

  4. node 本地静态服务器

    直接上代码 const connect = require("connect"); const serveStatic = require("serve-static&q ...

  5. POJ 2336

    #include <iostream> using namespace std; int main() { //freopen("acm.acm","r&qu ...

  6. Spring 事务传播行为实验

    一.Propagation : key属性确定代理应该给哪个方法增加事务行为.这样的属性最重要的部份是传播行为.有以下选项可供使用: PROPAGATION_REQUIRED--支持当前事务,如果当前 ...

  7. Android学习之一

  8. centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本)

    centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本) #####################     sendmail.py  begin     ######## ...

  9. [转] 在linux下使用Terminator

    Ubuntu自带的终端是gnome-terminal,虽然能用但是不能支持屏幕分割和选择复制等功能,于是换用terminator作为默认终端. 安装 sudo apt-get install term ...

  10. 前端的CRUD增删改查的小例子

    前端的CRUD增删改查的小例子 1.效果演示 2.相关代码: <!DOCTYPE html> <html lang="en"> <head> & ...