客户端服务器

HTTPS 详解一:附带最精美详尽的 HTTPS 原理图

佐手、 提交于 2020-02-02 13:20:48
HTTPS 详解一:附带最精美详尽的 HTTPS 原理图 HTTPS详解二:SSL / TLS 工作原理和详细握手过程 前言 作为一个有追求的程序员,了解行业发展趋势和扩充自己的计算机知识储备都是很有必要的,特别是一些计算机基础方面的内容,就比如本篇文章要讲的计算机网络方面的知识。本文将为大家详细梳理一下 HTTPS 的实现原理。 近年来,随着用户和互联网企业安全意识的提高和 HTTPS 成本的下降,HTTPS 已经越来越普及。很多互联网巨头也在力推 HTTPS,比如谷歌的 Chrome 浏览器在访问 HTTP 网站时会在地址栏显示不安全的提醒,微信要求所有的小程序必须使用 HTTPS 传输协议,苹果也要求所有在 App Store 上架的应用必须采用 HTTPS ,国内外的大部分主流网站也都已迁移至 HTTPS,可见 HTTPS 全面取代 HTTP 只是时间问题。 说了这么多,究竟什么是 HTTPS,它与 HTTP 相比有什么优缺点?其底层原理又是怎么实现的呢?下面就为你一一解答,先来看一下 HTTP 的弊端吧。 1、HTTP 的最大弊端——不安全 HTTP 之所以被 HTTPS 取代,最大的原因就是不安全,至于为什么不安全,看了下面这张图就一目了然了。 图1. HTTP数据传输过程 由图可见,HTTP 在传输数据的过程中,所有的数据都是明文传输,自然没有安全性可言

HTTP工作原理

心不动则不痛 提交于 2020-02-02 09:27:08
佟强 http://blog.csdn.net/microtong OakCMS内容管理系统 http://www.oakcms.cn http://www.oakcms.net HTTP 工作过程 HTTP 协议定义 Web 客户端如何从 Web 服务器请求 Web 页面,以及服务器如何把 Web 页面传送给客户端。 HTTP 协议采用了请求 / 响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、 URL 、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。下 图 表明了这种请求 / 响应模型。 以下是 HTTP 请求 / 响应的步骤: ( 1 )客户端连接到 Web 服务器 一个 HTTP 客户端,通常是浏览器,与 Web 服务器的 HTTP 端口(默认为 80 )建立一个 TCP 套接字连接。例如, http://www.oakcms.cn 。 ( 2 )发送 HTTP 请求 通过 TCP 套接字,客户端向 Web 服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据 4 部分组成。 ( 3 )服务器接受请求并返回 HTTP 响应 Web 服务器解析请求,定位请求资源。服务器将资源复本写到 TCP 套接字,由客户端读取。一个响应由状态行、响应头部

http解析过程

蓝咒 提交于 2020-02-02 08:55:02
HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。 以下是 HTTP 请求/响应的步骤: 1、客户端连接到Web服务器 一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。例如,http://www.oakcms.cn。 2、发送HTTP请求 通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。 3、服务器接受请求并返回HTTP响应 Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。 4、释放连接TCP连接 若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求; 5、客户端浏览器解析HTML内容 客户端浏览器首先解析状态行

web应用

大城市里の小女人 提交于 2020-02-02 08:54:24
web应用 本文目录 一 Web应用程序是什么 二 基于SOCKET写一个web应用 三 手撸简单web框架 回到目录 一 Web应用程序是什么 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助IE等浏览器来运行。WEB应用程序一般是B/S模式。Web应用程序首先是“应用程序”,和用标准的程序语言,如C、C++等编写出来的程序没有什么本质上的不同。然而Web应用程序又有自己独特的地方,就是它是基于Web的,而不是采用传统方法运行的。换句话说,它是典型的浏览器/服务器架构的产物。 Web应用程序的优点 网络应用程序不需要任何复杂的“展开”过程,你所需要的只是一个适用的浏览器; 网络应用程序通常耗费很少的用户硬盘空间,或者一点都不耗费; 它们不需要更新,因为所有新的特性都在服务器上执行,从而自动传达到用户端; 网络应用程序和服务器端的网络产品都很容易结合,如email功能和搜索功能; 因为它们在网络浏览器窗口中运行,所以大多数情况下它们是通过跨平台使用的 (例如Windows,Mac,Linux等等) Web应用程序的缺点

HTTP协议

 ̄綄美尐妖づ 提交于 2020-02-02 06:38:45
HTTP协议 HTTP协议是web浏览器与web服务器之间通信的标准协议,HTTP协议指定客户端与服务器如何建立连接,客户端如何从服务器请求数据,服务器如何响应数据,最后如何关闭连接。HTTP协议使用TCP/IP协议进行传输数据。 客户端到服务器请求有四个步骤 1、客户端在端口80上与服务器链接,URL还可以指定其他端口。 2、客户端向浏览器发送请求,请求格式:请求行、请求报头、空行、请求正文。 3、服务器向客户端发送响应,相应格式:状态行、响应报头、空行、响应正文。 4、服务器关闭链接。 注意:HTTP1.1版本以后,通过一个TCP链接可以发送多个请求和响应。 客户端请求 服务器响应 HTTP状态码 HTTP的请求方法 常用的方法GET和POST方法,它们的区别: 1、传送方式:get通过地址栏传输,post通过报文传输。 2、传送长度:get参数有长度限制(受限于url长度),而post无限制 3、GET和POST还有一个重大区别,简单的说:GET产生一个TCP数据包;POST产生两个TCP数据包。 4、post比get安全 session 和cookie HTTP协议本身是无状态的。即服务器无法识别用户身份。Cookie实际上是key-value格式的文本信息。客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器发送一个Cookie

前端需要了解的http知识

谁说我不能喝 提交于 2020-02-02 05:07:13
一、五层协议 1. OSI(Open System Interconnection 开放式系统互联)七层协议 1)应用层 2)表示层 3)会话层 4)传输层 5)网络层 6)数据链接层 7)物理层 2. TCP/IP四层网络协议 (Transmission Control Protocol 传输控制协议) 1)应用层 2)运输层 3)网络层 4)网络接口层 3. 折中后的五层协议 1)应用层(dns,http) DNS解析成IP并发送http请求 2)传输层(tcp,udp) 建立tcp连接(三次握手) 3)网络层(IP,ARP) IP寻址 4)数据链路层(PPP) 封装成帧 5)物理层(利用物理介质传输比特流) 物理传输(然后传输的时候通过双绞线,电磁波等各种介质) 简括: 从应用层的发送http请求,到传输层通过三次握手建立tcp/ip连接,再到网络层的ip寻址,再到数据链路层的封装成帧,最后到物理层的利用物理介质传输。 二、HTTP状态码 1XX 用于指定客户端相应的某些动作 2XX 用于表示成功 3XX 用于已经移动的文件并且被包含在定位头信息中指定心的地址信息(重定向,为了完成请求,必须进一步执行的动作) 4XX 用于指出客户端错误 5XX 用于支持服务器错误 100 继续;101 分组交换协议 200 ok;201 被创建;202 被采纳;203 非授权信息;204

Zabbix监控PHP-FPM、Tomcat、Redis应用实战案例

做~自己de王妃 提交于 2020-02-02 00:35:12
一、Zabbix监控PHP-FPM应用实战 Nginx+PHP-FPM是目前最流行的LNMP架构,在基于PHP开发的系统下,对这些系统性能的监控,主要是关注PHP-FPM的运行状态,那么什么是PHP-FPM呢?PHP-FPM是一个PHP FastCGI管理器,它提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,对于ZPHP5.3.3之前的PHP来说,它是一个补丁包,而从PHP5.3.3版本开始,PHP内部已经集成了php-fpm模块,意味着被PHP官方收录了。在编译PHP时需指定参数“--enable-fpm”来开启PHP-FPM。 1)启用php-fpm状态功能 操作如下: 1)安装nginx [root@agent ~]# yum -y install zlib pcre pcre-devel openssl openssl-devel [root@agent ~]# wget http://nginx.org/download/nginx-1.14.1.tar.gz [root@agent ~]# tar zxf nginx-1.14.1.tar.gz -C /usr/src [root@agent ~]# cd /usr/src/nginx-1.14.1/ [root@agent nginx-1.14.1]# ./configure -

json和jsonp

假如想象 提交于 2020-02-01 10:04:41
前言: 说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可以通过服务器端代理来解决。 但到目前为止最被推崇或者说首选的方案还是用JSON来传数据,靠JSONP来跨域。而这就是本文将要讲述的内容。 JSON和JSONP虽然只有一个字母的差别,但其实他们根本不是一回事儿:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。我们拿最近比较火的谍战片来打个比方,JSON是地下党们用来书写和交换情报的“暗号”,而JSONP则是把用暗号书写的情报传递给自己同志时使用的接头方式。看到没?一个是描述信息的格式,一个是信息传递双方约定的方法。 既然随便聊聊,那我们就不再采用教条的方式来讲述,而是把关注重心放在帮助开发人员理解是否应当选择使用以及如何使用上。 什么是JSON? 前面简单说了一下,JSON是一种基于文本的数据交换方式,或者叫做数据描述格式,你是否该选用他首先肯定要关注它所拥有的优点。 JSON的优点: 1、基于纯文本,跨平台传递极其简单; 2、Javascript原生支持,后台语言几乎全部支持; 3、轻量级数据格式,占用字符数量极少,特别适合互联网传递; 4、可读性较强

网络协议UDP

て烟熏妆下的殇ゞ 提交于 2020-02-01 08:47:59
------------------------------互联网协议与协议族------------------------------ tcp/ip协议介绍:计算机网络协议,不同类型不同厂家之间的终端进行沟通,规范协议 。 互联网协议族:为tcp/ip协议族 大概有上百种协议,其中tcp协议、ip协议使用的比较 多所以大家默认成为tcp/ip IP地址:网络地址(ip地址与子网掩码进行与运算获得)和主机地址 A类IP地址:由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0” (地址范围1.0.0.1-126.255.255.254) B类IP地址:由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是 “10”(128.1.0.1-191.255.255.254) C类IP地址:由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须 是“110”(范围192.0.1.1-223.255.255.254) ------------------------------socket介绍------------------------------ #定义:socket(简称 套接字) 是进程间通信的一种方式,它与其他进程间通信的一个主 要不同是: #import socket:应用socket包 #socket.socket(Address

JSON和JSONP详解

徘徊边缘 提交于 2020-02-01 02:58:38
什么是JSON   JSON是一种基于文本的数据交换方式,或者叫做数据描述格式,你是否该选用他首先肯定要关注它所拥有的优点。 JSON的优点:   1、基于纯文本,跨平台传递极其简单;   2、Javascript原生支持,后台语言几乎全部支持;   3、轻量级数据格式,占用字符数量极少,特别适合互联网传递;   4、可读性较强,虽然比不上XML那么一目了然,但在合理的依次缩进之后还是很容易识别的;   5、容易编写和解析,当然前提是你要知道数据结构;   JSON的缺点当然也有,但在作者看来实在是无关紧要的东西,所以不再单独说明。 JSON的格式或者叫规则:   JSON能够以非常简单的方式来描述数据结构,XML能做的它都能做,因此在跨平台方面两者完全不分伯仲。   1、JSON只有两种数据类型描述符,大括号{}和方括号[],其余英文冒号:是映射符,英文逗号,是分隔符,英文双引号""是定义符。   2、大括号{}用来描述一组“不同类型的无序键值对集合”(每个键值对可以理解为OOP的属性描述),方括号[]用来描述一组“相同类型的有序数据集合”(可对应OOP的数组)。   3、上述两种集合中若有多个子项,则通过英文逗号,进行分隔。   4、键值对以英文冒号:进行分隔,并且建议键名都加上英文双引号”",以便于不同语言的解析。   5、JSON内部常用数据类型无非就是字符串、数字、布尔