HTTP1.0 、 HTTP1.1 和 HTTP2.0 的区别
一、 HTTP1.0 和 HTTP1.1 HTTP1.0 和 1.1 的主要区别为: 长连接:HTTP1.0 默认是短连接,HTTP1.1 默认使用长连接。 断点续传:HTTP1.1 支持断点续传,可以通过 Range 头部指定需的资源数据部分。 添加 Host 头部:HTTP1.1 中为了解决虚拟主机的使用场景,通过 Hos ... 阅读更多
一、 HTTP1.0 和 HTTP1.1 HTTP1.0 和 1.1 的主要区别为: 长连接:HTTP1.0 默认是短连接,HTTP1.1 默认使用长连接。 断点续传:HTTP1.1 支持断点续传,可以通过 Range 头部指定需的资源数据部分。 添加 Host 头部:HTTP1.1 中为了解决虚拟主机的使用场景,通过 Hos ... 阅读更多
一、长连接和短连接 长连接和短链接的概念: 短连接:传输完数据后连接立刻关闭。 长连接:传输完数据后不会立刻关闭连接,下次传输数据继续复用这个连接。 很容易看出,长连接和短连接的主要区别就是连接完成后是否会关闭连接,长连接不会在完成后立马关闭。 众所周知,HTTP 是基于 TCP 的,TCP 连接的建立和释 ... 阅读更多
一、关于 Basic Authentication HTTP 本身提供了一种基础的认证方式 Basic Authentication,使得访问者在访问时需要输入账号密码认证之后才能访问到页面: 如果没有输入密码访问,服务器将会返回 401: 当服务端开启认证后,通过认证的方式有两种: 在访问 URL 的时候主动 ... 阅读更多
一、问题描述 http.Request 下的方法 RemoteAddr() 可以获取客户端的地址和端口号,最近的一个项目中用到了这个方法。 使用过程中一直都没有什么问题,但是当项目上线之后就发现不管怎么获取 ip,客户端地址都是 127.0.0.1 。 对于这个问题一直百思不得其解,最后搞了半天才发现是 ngin ... 阅读更多
一、概述 X-Forwarded-For, X-Real-IP, remote_addr 是 http 协议中用来表示客户端地址的请求头。 X-Forwarded-For 和 X-Real-IP 只有请求存在代理时才有值,而 remote_addr 一直存在。 X-Forwarded-For:记录代理服务器的地址, ... 阅读更多
使用 CDN 的时候遇到了跨域的问题,在网上找解决方法都是说在 nginx 里面加上请求头,然而设置了请求头后发现还是没有解决问题。所以为了解决问题,并且彻底弄清楚这其中的原理,花了半天时间仔细分析了一下。 一、什么是跨域 1.1 跨域描述 跨域是一种安全机制,使浏览器只能在页面内执行同源站点的脚本文件,避 ... 阅读更多
一、概述 超文本传输协议 (Hypertext Transfer Protocol, HTTP) 是当今网络的重要角色之一,也是万维网 (World Wide Web, WWW) 的核心组成。它的特点为: 无连接:HTTP 是一个无连接的协议,虽然基于 TCP,但是每次进行数据交互之前,无需先建立 HTTP 连接。 ... 阅读更多