web服务器

【HTTP协议】---HTTP协议详解

一世执手 提交于 2019-11-29 22:07:22
【HTTP协议】---HTTP协议详解 HTTP协议详解 一.HTTP简介 1.HTTP协议,即 超文本传输协议 (Hypertext transfer protocol)。是一种详细规定了 浏览器和万维网(WWW = World Wide Web)服务器 之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。 2.HTTP协议作为TCP/IP模型中应用层的协议也不例外。HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图: 3.HTTP是一个 应用层协议 ,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个 无状态 的协议。 4.HTTP默认的端口号为 80 ,HTTPS的端口号为 443 。 5.浏览网页是HTTP的主要应用,但是这并不代表HTTP就只能应用于网页的浏览。HTTP是一种协议,只要通信的双方都遵守这个协议,HTTP就能有用武之地。比如咱们常用的QQ,迅雷这些软件,都会使用HTTP协议(还包括其他的协议)。 二.HTTP特点 1、 简单快速 :客户向服务器请求服务时,只需传送 请求方法 和 路径 。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、 灵活 :HTTP允许 传输任意类型的数据对象 。正在传输的类型由Content-Type加以标记。 3、

04.Nginx搭建流行架构

谁都会走 提交于 2019-11-29 22:01:52
1.LNMP架构概述 1.什么是LNMP LNMP是一套技术的组合,L=Linux、N=Nginx、M~=MySQL、P~=PHP 2.LNMP架构是如何工作的 首先Nginx服务是不能处理动态请求,那么当用户发起动态请求时, Nginx又是如何进行处理的。 当用户发起http请求,请求会被Nginx处理,如果是静态资源请求Nginx则直接返回,如果是动态请求Nginx则通过fastcgi协议转交给后端的PHP程序处理,具体如下图所示 3.Nginx与Fast-CGI详细工作流程如下图所示 1.用户通过http协议发起请求,请求会先抵达LNMP架构中的Nginx 2.Nginx会根据用户的请求进行Location规则匹配 3.Location如果匹配到请求是静态,则由Nginx读取本地直接返回 4.Location如果匹配到请求是动态,则由Nginx将请求转发给fastcgi协议 5.fastgi收到后会将请求交给php-fpm管理进程,php-fpm管理进程接收到后会调用具体的工作进程warrap 6.warrap进程会调用php程序进行解析,如果只是解析代码,php直接返回 7.如果有查询数据库操作,则由php连接数据库(用户 密码 IP)发起查询的操作 8.最终数据由mysql->php->php-fpm->fastcgi->nginx->http->user 2

nginx

和自甴很熟 提交于 2019-11-29 19:40:38
1.nginx概述 Nginx (engine x) 是一个高性能的 HTTP 和 反向代理 web服务器,同时也提供了IMAP/POP3/SMTP 服务 2.常见的web服务器 1、Apache是世界上应用最多的WEB服务器,优势主要在于源代码开放、有一支开放的开发队伍、支持跨平台应用以及其可移植性等。Apache的模块支持非常丰富,虽在速度和性能上不及其他轻量级WEB服务器,是属于重量级产品,所消耗的内存也比其他WEB服务器要高。 2、Lighttpd是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的WEB Server环境,它具有内存开销低、CPU占有率低、效能好,以及模块丰富等特点。支持FastCGI、CGI、Auth、输出压缩、URL重写及Alias等重要功能,属于轻量级WEB服务器。 3、Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的web应用软件容器,Tomcat server是根据servlet和jsp规范执行的,因此也可以说Tomcat server实行了Apache-Jakarta规范,且比绝大多数商用应用软件服务器要好,但是,tomcat对静态文件和高并发的处理比较弱。 4、IBM WebSphere是一种功能完善、开放的WEB应用程序服务器,它基于Java的应用环境,建立

Java Web 开发必须掌握的三个技术:Token、Cookie、Session

本秂侑毒 提交于 2019-11-29 17:57:15
点击上方 好好学java ,选择 星标 公众号 重磅资讯、干货,第一时间送达 来源:jianshu.com/p/8ef0c5a551d3 今日推荐: 在阿里干了五年,面试个小公司挂了… 在Web应用中,HTTP请求是无状态的。即:用户第一次发起请求,与服务器建立连接并登录成功后,为了避免每次打开一个页面都需要登录一下,就出现了cookie,Session。 Cookie Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。Cookie存储的数据量有限,且都是保存在客户端浏览器中。不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用 Cookie 实际上只能存储一小段的文本信息。 例如:登录网站,今输入用户名密码登录了,第二天再打开很多情况下就直接打开了。这个时候用到的一个机制就是Cookie。 Session Session是另一种记录客户状态的机制,它是在服务端保存的一个数据结构(主要存储的的SessionID和Session内容,同时也包含了很多自定义的内容如:用户基础信息、权限信息、用户机构信息、固定变量等),这个数据可以保存在集群、数据库、文件中,用于跟踪用户的状态。 客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是 Session

JavaWeb基础知识总结.

喜欢而已 提交于 2019-11-29 17:16:57
JavaWeb基础知识总结. 1. web服务器与HTTP协议 W eb服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。 l Internet上供外界访问的Web资源分为: • 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。 • 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。 l 静态web资源开发技术 • Html l 常用动态web资源开发技术: • JSP/Servlet、ASP、PHP等 ruby python • 在Java中,动态web资源开发技术统称为Javaweb,我们课程的重点也是教大家如何使用Java技术开发动态的web资源,即动态web页面。 但是我们做java开发,不是做网页。 网络上的资源分为两种 早期:静态页面 html实现。 观看 现在:动态页面 php asp jsp 交互. lamp =linux +apache+ mysql+php----->个人网关或小型企业首选 asp现在没人用,但是网络上遗留下来的比较多。miscrosoft的技术 .net技术。 jsp--->java去做网页所使用的技术。jsp本质上就是servlet 使用jsp开发成本高。 BS====>浏览器+服务器 只要有浏览器就可以

【转】LINUX ASP.NET WEB服务器:JEXUS

北慕城南 提交于 2019-11-29 16:15:41
Jexus 即 Jexus Web Server,简称JWS,是Linux平台上 的一款性能优良、功能强大的 ASP.NET WEB服务器。Jexus Web server 是第一款真正意义上的(非开源)LINUX/UNIX ASP.NET WEB服务器,它是 Linux、Unix、FreeBSD 等非Windows系统架设 ASP.NET WEB 服务器的核心程序,是企业级ASP.NET跨平台部署的首选方案。与其它WEB服务器相比,Jexus不但具有跨平台ASP.NET服务器这样的标志性特征,同时还拥有内核级的安全监控、入侵检测、URL重写、无文件路由等一系列重要功能和专有特性。因此,相对其他WEB服务器而言,Jexus具有同样的实用价值。 Jexus for linux 有如下特点: 支持多种操作系统:Jexus最初的设计目标是“跨平台的ASP.NET WEB服务器”,由于在Windows系统上,IIS已经是ASP.NET的优秀平台,所以,当前的Jexus以支持Linux和FreeBSD等非Windows系统为主要设计目标。正因为这个原因,就Linux/FreeBSD等平台的ASP.NET建设而言,Jexus具有特别重大的意义。 高性能:“高性能”是Jexus的重要的设计目标。虽然Jexus基于Mono环境运行,但Jexus并非全部由Mono的.NET组件构成

Web服务器Nginx企业级优化

≡放荡痞女 提交于 2019-11-29 11:08:56
一。配置Nginx隐藏版本号 在生产环境中,需要隐藏 Nginx 的版本号,以避免安全漏洞的泄露 需要记住三个命令 1. elinks –dump 本机 IP 2. curl -I 本机 IP 3. lynx 本机 IP 查看 ngxin 版本及型号 二。修改Nginx用户与组 三。配置Nginx网页缓存时间 四。配置Nginx实现连接超时 五。更改Nginx运行进程数 六。配置Nginx实现网页压缩功能 七。配置Nginx实现防盗链功能 八 在生产环境中,需要隐藏 Nginx 的版本号,以避免安全漏洞的泄露 来源: https://www.cnblogs.com/maoyanqing/p/11516008.html

把Java6的Web应用升级到Java7

非 Y 不嫁゛ 提交于 2019-11-29 09:14:16
原来的运行环境:windows 2003 + Jdk 6.0 + tomcat 7 升级后运行环境:windows 2003 + Jdk 7.0 + tomcat 7 1、首先需要打开项目(我用的是eclipse),移除Jdk 6的jar library,添加新的Jdk 7 jar library,然后根据提示的错误自己把项目提示的错误都折腾一下,让项目可以成功编译(这里不详细讲这个) 2、在服务器中先停止tomcat,然后在系统中卸载Jdk6,卸载完成后安装jdk7,并修改环境变量. 3、把eclipse中成功编译后的classes拷贝到服务器中覆盖原来Web应用中的classes。 4、卸载tomcat 7的开机启动服务(运行cmd——转到tomcat 7的bin目录下——运行命令service.bat remove ),重新安装tomcat 7开机启动服务(运行命令service.bat install ),在系统服务器设置tomcat 7服务自动启动。 5、重启服务器,成功!! 来源: oschina 链接: https://my.oschina.net/u/101567/blog/140459

Python服务器动态资源请求

大城市里の小女人 提交于 2019-11-29 08:31:27
服务器动态资源请求 1. 浏览器请求动态页面过程 2. WSGI 怎么在你刚建立的Web服务器上运行一个Django应用和Flask应用,如何不做任何改变而适应不同的web架构呢? 在以前,选择 Python web 架构会受制于可用的web服务器,反之亦然。如果架构和服务器可以协同工作,那就好了: 但有可能面对(或者曾有过)下面的问题,当要把一个服务器和一个架构结合起来时,却发现他们不是被设计成协同工作的: 那么,怎么可以不修改服务器和架构代码而确保可以在多个架构下运行web服务器呢?答案就是 Python Web Server Gateway Interface (或简称 WSGI,读作“wizgy”)。 WSGI允许开发者将选择web框架和web服务器分开。可以混合匹配web服务器和web框架,选择一个适合的配对。比如,可以在Gunicorn 或者 Nginx/uWSGI 或者 Waitress上运行 Django, Flask, 或 Pyramid。真正的混合匹配,得益于WSGI同时支持服务器和架构: web服务器必须具备WSGI接口,所有的现代Python Web框架都已具备WSGI接口,它让你不对代码作修改就能使服务器和特点的web框架协同工作。 WSGI由web服务器支持,而web框架允许你选择适合自己的配对

Web动态服务器-Python基本实现

旧巷老猫 提交于 2019-11-29 08:31:27
Web动态服务器-基本实现 文件结构 ├── web_server.py ├── web │ └── my_web.py └── html └── index.html ..... web/my_web.py import time def application(environ, start_response): status = '200 OK' response_headers = [('Content-Type', 'text/html')] start_response(status, response_headers) return str(environ) + '==Hello world from a simple WSGI application!--->%s\n' % time.ctime() web_server.py import select import time import socket import sys import re import multiprocessing class WSGIServer(object): """定义一个WSGI服务器的类""" def __init__(self, port, documents_root, app): # 1. 创建套接字 self.server_socket = socket.socket