1 I/O的概念I/O在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要I/O接口。举个例子:比如你打开浏览器,访问腾讯首页,浏览器这个程序就需要通过网络I/O获取腾讯的网页。浏览器首先会发送数据给腾讯服务器,告诉它我想要首页的HTML,这个动作是往外发数据,叫Output,
前言HTTP 中get、put、post的使用也是蛮多的,有时会突然觉得,他们之间的区别是啥?为啥选择使用呢?介绍GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的up
Nginx 使用一个多进程模型来对外提供服务,其中一个 master 进程,多个 worker 进程。master 进程负责管理 Nginx 本身和其他 worker 进程。所有实际上的业务处理逻辑都在 worker 进程。worker 进程中有一个函数,执行无限循环,不断处理收到的来自客户端的请求,并进行处理,直到整个 Nginx 服务被停止。worker 进程中,ngx_worker
这里我们详细来看ngx_linux_sendfile_chain方法,这个函数也就是nginx的发送函数。 一般来说,我们最终都会调用这个函数来发送最终的数据,因此我们来着重分析这个函数,这里主要就是对buf的一些参数的理解。 来看函数原型: ngx_chain_t * ngx_linux_sendfile_chain(ngx_connection_
简单请求和复杂请求的区别简单请求:get,postimg的src、script的js可以发起get请求,获取数据(类似于对数据库的select操作),post提交数据(类似于对数据库的insert操作),请求可以发起,而服务端可以进行拒绝,浏览器认为这是安全的。复杂请求put,deleteput请求,更新数据(类似于对数据库的update操作),delete请求,删除数据(类似于对数据库的del
也是迁移业务遇到的,以前运维那哥们用的集成LAMP环境,现在迁移需要将Apache去掉,用php-cgi的模式来执行php,目前主流一般都是用php-fpm来管理php。好了,前期就是将数据同步过来,然后再修改nginx配置,安装php-fpm,并启动php-fpm,会发现本地侦听9000端口,这里主要说下nginx配置:原nginx配置,执行php方法:看着这种配置比较蛋疼,然后换成cgi的模式
真实案例:查看nginx日志,发现别有用心的人恶意调用API接口刷短信: 30966487 115.213.229.38 "-" [05/Jun/2018:14:37:29 +0800] 0.003 xxxxxx.com "POST /xxx/sendCheckCode HTTP/1.1" 401 200 46 xx.xx.xx.xx:0000 0.003 200 "Mozilla/5.0 (W
转载 1月前
95阅读
nginx可以通过ngx_http_limit_conn_module和ngx_http_limit_req_module配置来限制ip在同一时间段的访问次数.ngx_http_limit_conn_module:该模块用于限制每个定义的密钥的连接数,特别是单个IP地址的连接数.使用limit_conn_zone和limit_conn指令.ngx_http_limit_req_module:用于限
1,首先看看nginx.conf文件的一些重要参数,可以给句错误代号调节配置文件中的相关配置.每个参数的意思:client_max_body_size限制请求体的大小,若超过所设定的大小,返回413错误。client_header_timeout读取请求头的超时时间,若超过所设定的大小,返回408错误。client_body_timeout读取请求实体的超时时间,若超过所设定的大小,返回413错误
Http发送get、post、delete、put请求1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。2、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内
一    ngx_http_rewrite_module模块1)Nginx服务器利用'ngx_http_rewrite_module 模块'解析和处理rewrite请求,此功能依靠 'PCRE(perl compatible regularexpression)',因此编译之前要安装PCRE库 2)rewrite是nginx服务器的重要功能之一,用于实现'URL的重
  nginx使用一个多进程模型来对外提供服务,其中一个master进程,多个worker进程。master进程负责管理nginx本身和其他worker进程。  所有实际上的业务处理逻辑都在worker进程。worker进程中有一个函数,执行无限循环,不断处理收到的来自客户端的请求,并进行处理,直到整个nginx服务被停止。  worker进程中,ngx_worker_process_cycle(
安全问题,建议用nobody,不要用root. user root; worker数和服务器的cpu数相等是最为适宜 worker_processes 1; error_log path(存放路径) level(日志等级)path表示日志路径,level表示日志等级, 具体如下:[ debug | info | notice | warn | error | crit ] 从左至右,日志详
Nginx的配置块嵌套main http{ upstream {...} split_clients {...} map {...} geo {...} server { if () {...} location { limit_except {...} } locati
安装下载地址:http://nginx.org/en/docs/windows.html    我下载的是1. 14.2 如图  配置介绍目录介绍    其他目录不用管它,重点是config/nginx.config 文件配置nginx.config 结构#main全局配置{ #events模块 #http模块{
夏日炎炎,天气变得越来越炎热了喔!!!但我们上班的心情,还是不能被这炎热的夏天所影响的,所以今天咋们来讲讲如何给前端访问加加速吧!!!基于目前大部分的应用,都使用了前后端分离的框架,vue 的前端应用,也是十分的流行。不知道大家伙,有无遇到这样的问题:随着前端框架的页面,功能开发不断的迭代;安装的依赖,不断的增多; 这样导致的问题,就是我们的前端框架,会变得十分庞大,打包出来的 dist 目录会变
规则语法 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则, 但是是用于条件判断的时候(即if语句) if ($host !~* "^www.") { # ... } 匹配简单来说:优先匹配 =精确匹配, 若未匹配到则转下一步骤依照最大前缀匹配规则, 先匹配普通规则(空 , ^~)若最终匹配到 ^~, 则使用若匹配到 空 或 未匹配到, 则转下一步骤(当前匹配结果暂时
原理 request_time是从接收到客户端的第一个字节开始,到把所有的响应数据都发送完为止。upstream_response_time是从与后端建立TCP连接开始到接收完响应数据并关闭连接为止。所以,request_time会大于等于upstream_response_time。1. 配置nginx 访问日志http { #$remote_addr:客户端IP地址; #$remot
HTTP 的请求报文分为三个部分 请求行、请求头和请求体,格式如图:一个典型的请求消息头域,如下所示:POST/GET http://download.microtool.de:80/somedata.exe   Host: download.microtool.de   Accept:*/*   Pragma: no-cache   Cache-Control: no-cache   
转载 2023-07-25 22:02:08
137阅读
一、Http请求过程HTTP协议采用请求/响应模式,客户端向服务器发送一个请求报文,然后服务器响应请求。下面介绍一下一次HTTP请求的过程:在浏览器中输入URL,并按下回车键浏览器向DNS服务器请求解析该URL中的域名对应的IP地址(如果是IP请求,则不需要该步骤)解析出IP后,根据IP和端口号,和服务器建立TCP连接浏览器向服务器发送请求,该请求报文作为TCP三次握手的第三个报文发送给服务器服务
转载 11月前
240阅读
  • 1
  • 2
  • 3
  • 4
  • 5