随笔分类 - HTTP
深入了解http
摘要:mac上执行 npm install nginx 安装好后运行nginx sudo nginx 一般mac下nginx会安装在 /usr/local/etc/nginx 下 里面的nginx.conf就是nginx的配置文件,从中 include servers/*; 这句话表示会导入servers
阅读全文
摘要:CSP(Content-Security-Policy): 内容安全策略 作用: 1、限制资源获取 2、报告资源获取越权 限制方式: 1、default-src限制全局 跟链接请求有关的东西,限制他的作用范围 2、制定资源类型 资源类型: content-src img-src style-src
阅读全文
摘要:如果发送一个请求,发现这个请求地址的内容已经不存在了,服务器端会告诉客户端他想访问的内容在哪里,或者说服务器端的某个地址没有了,这个时候不应该废弃,不然就会404,而应该在这里告诉客户端新的地址在哪里 //server.js const http = require('http'); http.cr
阅读全文
摘要:数据协商:客户端给服务端发送一个请求的时候,客户端会声明我希望这个请求我想要拿到的数据格式以及数据相关的一些限制,服务端会根据请求里面表示的想要拿到什么样的数据之后,然后做出一个判断,服务端可能会有很多不同类型的数据返回,服务端可以根据头信息进行区分 请求声明Accept: Accept: 声明我想
阅读全文
摘要:之前说过http的请求是再tcp连接上面进行发送的,那么tcp连接就分为长连接 和 短连接这样的概念,那么什么是长链接呢?http请求发送的时候要先去创建一个tcp的连接,然后在tcp的连接上面发送http请求,请求完以后,客户端会跟服务端商量要不要关闭这个连接,有时候这个创建关闭的过程比保持长链接
阅读全文
摘要:cookie 通过Set-Cookie设置,里面的内容我们就叫cookie 下次请求的时候会自动带上 cookie是以健值对的形式设置,可以设置多个 cookie的属性 max-age和expires设置过期时间 secure只在https的时候发送 HttpOnly无法通过document.coo
阅读全文
摘要:看这张图,是浏览器发出请求到请求缓存到过程,这么一个原理 那么http里面如何进行验证呢?主要有两个验证到http头 Last-Modified(上次修改时间) 主要配合If-Modified-Since或者If-Unmodified-Since使用,什么意思呢,如果请求一个资源,资源返回上面有La
阅读全文
摘要:首先Cache-Control有哪些特性呢?一个是可缓存性 可缓存性 public: 代表这个http请求返回的内容所经过的任何路径中,包括一些中间的http的代理服务器,以及发出这个请求的客户端浏览器,他都可以进行这个返回内容的缓存的操作 private: 代表只有发起请求的浏览器才可以进行缓存
阅读全文
摘要:之前我们可以通过“Access-Control-Allow-Origin”,实现跨域请求,那是不是所有跨域请求都可以通过设置Access-Control-Allow-Origin实现跨域请求呢?显然不是,它也会有一些限制 //server.js const http = require('http'
阅读全文
摘要:我们模拟一个跨域的请求,一个是8888,一个是8887 //server.js const http = require('http'); const fs = require('fs'); http.createServer(function(req,res){ console.log('req
阅读全文
摘要:最简单的http客户端就是我们的浏览器,浏览器地址输入baidu.com,就会返回响应内容,打开network,都是http请求,第一个就是www.baidu.com的请求,旁边第一个General就是http的首行,它并不属于http报文,它不仅返回内容,还处理了返回内容,比如Response,并
阅读全文
摘要:server.js 用node创建一个最简单的服务
阅读全文
摘要:http报文基本上就长这个样子,http是请求和响应到这种模式,发起请求的这一方永远是主动的,首先请求报文都会有一个首行,这个首行并不属于headers,它会包涵一个method,第二部分是个url,就是要请求资源的地址,一般放的是路由,第三部分是http版本 响应报文也会有一个首行,第一部分是ht
阅读全文
摘要:URI(Uniform Resource Identifier / 统一资源标志符) uri是什么呢?uri其实是包涵url和urn统一的一个定义,因为uri是用来定义我们的网站具体的某一个页面,基本上我们现在的使用方式都是这样,但是从http,或者从web的角度,它的定义其实不仅仅是如此,这些名词
阅读全文
摘要:在讲三次握手之前,希望大家理解一个概念,什么概念呢? 就是在我们的客户端和我们的服务器之间进行http请求,发送和返回的过程当中,我们是需要去创建一个tcp connection的东西,因为http是不存在连接这么一个概念的,它只有一个请求和响应这么一个概念,那么请求和响应都是一个数据包,它们之间是
阅读全文
摘要:在最早的时候,第一个定稿的http协议是http/0.9版本,在这个版本里面,http协议,它的内容,非常非常的简单 只有一个命令,就是GET 对应的就是我们现在经常用到的get请求,post请求,这些统称为http的命令或者叫做方法,那么后面会有一节课会有详细的讲解,关于http命令的内容 然后那
阅读全文
摘要:在网络协议当中,我们一般会去讲解整个网络信息传输的整个过程的时候,都会套用一个经典都5层模型,在这5层模型里面,我们分为应用层,传输层,网络层,数据链路层和物理层,这个在每台电脑上,每台服务器上,他都是有这么一个相应都层级的关系来维护我们整个网络数据传输的过程,所以在你自己的电脑上,或在一台远程的服
阅读全文
摘要:从这张图可以看出,从输入网址,按下回车的那一刻起,就开始了Redirect,那么为什么一开始就redirect呢?因为我们的浏览器可能记录了你的这个地址,以及永久跳转成一个新的地址了,所以一开始浏览器就要去判断一下,我需不需要redirect以及我要redirect到哪里 第二步是要去看缓存,因为你
阅读全文