web服务器

Web服务器#Nginx搭建

﹥>﹥吖頭↗ 提交于 2020-01-11 06:31:35
一丶Nginx Nginx--轻量级的软件,并发量远高与Apache(httpd). Tengine--淘宝网基于Nginx开发的web服务器项目. 二丶Nginx依赖包 gcc pcre-devel openssl-devel三个固定包 新建普通用户,以普通用户的身份执行Nginx,避免安全隐患 suid(命令)---增大权限 root----->nginx降低权限 三丶指令 nginx命令的用法 [root@proxy ~]# /usr/local/nginx/sbin/nginx #启动服务 [root@proxy ~]# /usr/local/nginx/sbin/nginx -s stop #关闭服务 [root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload #重新加载配置文件(不关闭服务) [root@proxy ~]# /usr/local/nginx/sbin/nginx -V #查看软件信息 四丶ASCII GB2312 ASCII(英文) 从零开始编码,计算机通用编码模式 128个二进制数字组成 GB2312(中文) 通用编码utf-8 vim /usr/local/nginx/conf/nginx.conf 对称加密算法 常见的对称加密算法有AES和DES(加密和解密是一把钥匙) 非对称加密算法

http和https的一种能力?

跟風遠走 提交于 2020-01-10 22:25:48
 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。   为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。 一、HTTP和HTTPS的基本概念   HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。   HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。   HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。 二、HTTP与HTTPS有什么区别?   HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全

什么是Nginx?

蹲街弑〆低调 提交于 2020-01-10 14:47:07
这里是修真院后端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析后端知识/技能。 大家好,我是IT修真院上海分院一枚正直纯洁善良的JAVA程序员。 今天给大家分享一下,修真院官网JAVA任务三,扩展思考中的知识点——Nginx是什么? 1 背景介绍 1.1 web服务器 Nginx 的竞争对手—Apache、Lighttpd、Tomcat、 Jetty、IIS,它们都是 Web 服务器,或者叫做 WWW(World Wide Web)服务器,相应地 也都具备 Web 服务器的基本功能 :基于 REST 架构风格 ,以统一资源描述符(Uniform Resource Identifier,URI)或者统一资源定位符(Uniform Resource Locator,URL)作为沟 通依据,通过 HTTP 为浏览器等客户端程序提供各种网络服务。然而,由于这些 Web 服务器 在设计阶段就受到许多局限,例如当时的互联网用户规模、网络带宽、产品特点等局限,并 且各自的定位与发展方向都不尽相同,使得每一款 Web 服务器的特点与应用场合都很鲜明。 对比: 1.2 web服务器对比 Tomcat 和 Jetty 面向 Java 语言,先天就是重量级的 Web 服务器,它的性能与 Nginx 没 有可比性

高性能--web服务器缓存 (2)

假装没事ソ 提交于 2020-01-10 12:54:11
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> /** * * 关于对web服务器缓存(控制期) * * 1.web缓存对静态还是动态内容的过期检查 可能大家对我在上一章中讲到,内容与HTTP头分开存储的, http头中 标记就是判断过期检查的其实就是建立在http协议上的 举例PHP脚本: 如果要为一个动态内容指定有效期。 仍然要在 Http响应头中追加Expires标记,如果你对这个动态内容不要这个动态内容缓存的话,那么最简单的办法就是让 header("Expires: 0"); 这样web服务器就不会把这个动态内容发到缓存区 Look下面代码: * **/ $mod_time = $_SERVER['HTTP_IF_MODIFIED_SINCE']; if (strtotime($mod_time) + 20 > time()) { header("HTTP/1.1 304"); exit(); } header("Last-Modified:".gmdate("D, d M Y H:i:s")."GMT"); header("Cache-Control: max-age=10"); echo time(); /** * 关闭服务器磁盘缓存, 那么上面代码每到20秒才到服务器去取数据(这个代 码应该不需要我讲吧) * * 现在我开启服务器缓存后

HTTP与HTTPS的区别

冷暖自知 提交于 2020-01-10 09:09:11
HTTP与HTTPS的区别   超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。   为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。 一、HTTP和HTTPS的基本概念   HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。   HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。   HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。 二、HTTP与HTTPS有什么区别?   HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全

架构师成长直通车

邮差的信 提交于 2020-01-10 01:41:55
一. 前言 本片文章面向后端开发,讲述后端在进行开发时所使用的WEB服务器的工作流程,正所谓知根知底,WEB服务器是后端开发人员日常用于调试WEB程序和与前端通讯的一种方式! WEB服务器最为强大的地方是能够执行WEB程序,其WEB程序的编程语言并没有明确的规定,因为只要你所使用的服务器支持这样的程序就可以了! WEB服务器更像是一个平台,在此平台上编写软件我们称其为WEB编程,注:WEB编程下有许多规范比如CGI,FastCGI等等,这个是要看服务器的支持范围! 不同服务器所使用的规范不同,比如JSP服务器只能运行由JAVA EE编写的WEB程序,不能用于运行像C/C++、Python等编程语言编写而成的WEB程序! 通常情况下的WEB服务器所使用的编程规范均为CGI编程、只能运行CGI规范的程序,除了一些例外的WEB服务器,比如JSP服务器! 二. CGI规范,WEB服务器执行过程 什么是CGI规范? CGI是Common Gateway Interface的缩写,其意义为公用网关接口,意思可以理解为:在WEB服务器上运行一个程序或脚本,并且WEB服务器要将脚本执行结果返回给浏览器(客户端)! 规范从何而谈? 规范的意思是,无论你使用任何语言编写,都必须使用输出函数(cout,printf,print)输出HTML格式的数据信息,WEB服务器根据这些信息传递给浏览器

《大规模WEB服务开发技术》读书笔记(I)

别等时光非礼了梦想. 提交于 2020-01-09 13:55:20
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1、认识服务的规模 注册用户,独立用户 请求数 繁忙时流量 服务器台数 貌似应该有很多其他的指标,以前都听说过,但是从来没有认真分析过,已经上线的系统也没有对此进行过统计和分析! 2、大规模服务中的问题有以下几点: 可扩展性、负载均衡的必要性 一般来说,当一台服务器无法承担负载时,都会采用横向扩展(scale out)或者纵向扩展(scale up)。横向扩展就是通过服务器的数量来分担负载,纵向扩展是通过提高硬件的性能来处理负载。而我们知道,硬件的性能和价格不是成比例的,所以通常采用横向扩展技术!采用横向扩展也会带来问题,如请求如何分配——负载均衡,数据如何同步,网络通信延迟等。 保证冗余性 服务器多了后,故障率也会上升。要么构建稳定的系统,要么构建发生故障时能自动切换以继续运行的系统! 低成本运维的重要性 采用自动化工具。 开发人数和开发方法的变化 如何标准化开发? 考虑下应用程序实现方案? 统一编程语言? 统一库函数和框架? 统一代码规范? 使用版本管理工具管理源代码? 需要有人负责全局的推行。 团队如何管理 应对大规模数据量 数据的流向:磁盘->内存->缓存->CPU。各层的速度差异巨大。 减小数据大小? 分散到多台服务器上? 把数据读取次数降到最低? 3、系统增长战略——最小化开端、预见变化的管理和设计

HTTP、BS架构

非 Y 不嫁゛ 提交于 2020-01-08 12:03:07
Django 底层原理 各种形式的web框架 B/S概念 快捷键 方向键 方向键本键如果活动选项是 选项按钮 或文件则为移动焦点; 方向键 + Win键(简称Win键)使窗口全屏、最小化、靠左半边、靠右半边(部分版本不支持); 方向键+Shift键将连续的文字或文件选中 方向键(左右)+Ctrl键 在英文单词或中文词语间跳跃 方向键(上下)+Ctrl键 在段落开头间跳跃 按Home(定位到行首)然后按Shift+End(行尾)或者 然后按Shift+↓ (下一行这个位置) 或者 按End(定位到行尾)然后按Shift+Home ctrl Ctrl+b 粗体 Bold Ctrl+e 居中对齐 Encenter Ctrl+f 查找 Find Ctrl+h 替换 Huan Ctrl+k 超级链接 King Link win Win键+E打开Windows资源管理器Explorer【即我的电脑、计算机】 Win键+R:运行 Win键+Shift+S:Windows 自带截图 win键+PrtScSysRq键 快速截屏 HTTP 超文本传输协议(英文: HyperText Transfer Protocol ,缩写: HTTP )是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是 万维网WEB 的数据通信的基础。 现今广泛使用的一个版本——HTTP 1.1(已更新至2.0)

python实现Web服务器

送分小仙女□ 提交于 2020-01-08 09:30:46
python深入浅出进阶教程 web request #模拟浏览器请求web服务器 import socket tcpSocket = socket . socket ( socket . AF_INET , socket . SOCK_STREAM ) #创建套接字 tcpSocket . connect ( ( "121.36.32.38" , 80 ) ) requestLine = "GET / HTTP/1.1\r\n" requestHeader = "host:www.yaojun.com\r\n" requestBlank = "\r\n" requestData = requestLine + requestHeader + requestBlank tcpSocket . send ( requestData . encode ( ) ) #已经建立了连接 直接发送 receiveData = tcpSocket . recv ( 4096 ) receiveText = receiveData . decode ( ) loc = receiveText . find ( "\r\n\r\n" ) html = receiveText [ loc + 4 : ] with open ( "index.html" , "w+" ) as f : f .

Web基础了解版11-Ajax-JSON

非 Y 不嫁゛ 提交于 2020-01-07 17:20:04
Ajax AJAX即“ A synchronous J avascript A nd X ML”:是,不发生页面跳转、异步请求载入内容并改写局部页面内容的技术。 也可以简单的理解为通过JS向服务器发送请求。 同步处理 : 就是当我们通过一个页面向服务器发送一个请求时,在服务器响应结束之前,我们的整个页面是不能操作的,并且即使整个页面中只有一小部分内容发生改变我们也要刷新整个页面。 异步处理 : 通过AJAX向服务器发送请求,当服务器正常响应请求后,响应信息会直接发送到AJAX中,AJAX可以根据服务器响应的内容做一些操作。并可局部的修改页面,而不需要整个页面刷新。 请求对象: XMLHttpRequest XMLHttpRequest对象用来封装请求报文,我们向服务器发送的请求信息全部都需要封装到该对象中。 获取XMLHttpRequest对象,不同浏览器之间有差异 //获取XMLHttpRequest的通用方法 function getXMLHttpRequest(){ var xhr; try{ //大部分浏览器都支持 xhr = new XMLHttpRequest(); }catch(e){ try{ //如果不支持,在这里捕获异常并且采用IE6支持的方式 xhr = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ /