http请求

Nginx负载均衡和反向代理

丶灬走出姿态 提交于 2019-12-27 01:15:40
1:反向代理 代理就是中介,那有反向代理就有正向代理,两者的区别是什么嘞? 正向代理隐藏真实客户端,服务端不知道实际发起请求的客户端.,proxy和client同属一个LAN,对server透明; 反向代理隐藏真实服务端,客户端不知道实际提供服务的服务端,proxy和server同属一个LAN,对client透明。 基本配置项   (1)proxy_pass 将当前请求反向代理到URL参数指定的服务器上 (2)proxy_method 表示转发时的协议方法名 proxy_method POST; 客户端转发来的GET请求在转发时方法名会改为POST请求 (3)proxy_redirect 当上游服务器返回的响应是重定向或者刷新请求(HTTP响应码是301或者302),可以重设HTTP头部的location或refresh proxy_redirect http://location:8000/two/ http://location:8000/noe/ (4)proxy_next_upstream 当上游服务器请求出现错误,继续换一台服务器转发请求。     error:在与服务器建立连接,向其传递请求或读取响应标头时发生错误;     timeout:在与服务器建立连接,向其传递请求或读取响应头时发生超时     invalid_header:服务器返回空响应或无效响应;    

nginx代理(正向代理和反向代理)

北慕城南 提交于 2019-12-27 01:14:51
正向代理      是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端(目的是为了保护客户端用户)   配置文件:    server { # 配置DNS解析IP地址,比如 Google Public DNS,以及超时时间(5秒) resolver 8.8.8.8; # 必需 resolver_timeout 5s; # 监听端口 listen 8080; access_log /home/reistlin/logs/proxy.access.log; error_log /home/reistlin/logs/proxy.error.log; location / { # 配置正向代理参数 proxy_pass $scheme://$host$request_uri; # 解决如果URL中带"."后Nginx 503错误 proxy_set_header Host $http_host; # 配置缓存大小 proxy_buffers 256 4k; # 关闭磁盘缓存读写减少I/O proxy_max_temp_file_size 0; # 代理连接超时时间 proxy_connect_timeout 30; #

Nginx内置变量

亡梦爱人 提交于 2019-12-26 22:26:30
$args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有参数,值为"?",否则为空字符串 $uri #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/bar.html"。 $document_uri #同 $uri $document_root #当前请求的文档根目录或别名 $host #优先级:HTTP请求行的主机名>"HOST"请求头字段>符合请求的服务器名 $hostname #主机名 $https #如果开启了SSL安全模式,值为"on",否则为空字符串。 $binary_remote_addr #客户端地址的二进制形式,固定长度为4个字节 $body_bytes_sent #传输给客户端的字节数,响应头不计算在内;这个变量和Apache的mod_log_config模块中的"%B"参数保持兼容 $bytes_sent #传输给客户端的字节数 $connection #TCP连接的序列号 $connection_requests #TCP连接当前的请求数量 $content_length #"Content-Length"

nginx变量

跟風遠走 提交于 2019-12-26 22:26:12
$args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有参数,值为"?",否则为空字符串 $uri #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/bar.html"。 $document_uri #同 $uri $document_root #当前请求的文档根目录或别名 $host #优先级:HTTP请求行的主机名>"HOST"请求头字段>符合请求的服务器名 $hostname #主机名 $https #如果开启了SSL安全模式,值为"on",否则为空字符串。 $binary_remote_addr #客户端地址的二进制形式,固定长度为4个字节 $body_bytes_sent #传输给客户端的字节数,响应头不计算在内;这个变量和Apache的mod_log_config模块中的"%B"参数保持兼容 $bytes_sent #传输给客户端的字节数 $connection #TCP连接的序列号 $connection_requests #TCP连接当前的请求数量 $content_length #"Content-Length"

Nginx自带的变量

为君一笑 提交于 2019-12-26 22:25:55
$args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有参数,值为"?",否则为空字符串 $uri #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/bar.html"。 $document_uri #同 $uri $document_root #当前请求的文档根目录或别名 $host #优先级:HTTP请求行的主机名>"HOST"请求头字段>符合请求的服务器名 $hostname #主机名 $https #如果开启了SSL安全模式,值为"on",否则为空字符串。 $binary_remote_addr #客户端地址的二进制形式,固定长度为4个字节 $body_bytes_sent #传输给客户端的字节数,响应头不计算在内;这个变量和Apache的mod_log_config模块中的"%B"参数保持兼容 $bytes_sent #传输给客户端的字节数 $connection #TCP连接的序列号 $connection_requests #TCP连接当前的请求数量 $content_length #"Content-Length"

Nginx 变量参数

▼魔方 西西 提交于 2019-12-26 22:25:41
1 $args #请求中的参数值 2 $query_string #同 $args 3 $arg_NAME #GET请求中NAME的值 4 $is_args #如果请求中有参数,值为"?",否则为空字符串 5 $uri #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/bar.html"。 6 $document_uri #同 $uri 7 $document_root #当前请求的文档根目录或别名 8 $host #优先级:HTTP请求行的主机名>"HOST"请求头字段>符合请求的服务器名.请求中的主机头字段,如果请求中的主机头不可用,则为服务器处理请求的服务器名称 9 $hostname #主机名 10 $https #如果开启了SSL安全模式,值为"on",否则为空字符串。 11 $binary_remote_addr #客户端地址的二进制形式,固定长度为4个字节 12 $body_bytes_sent #传输给客户端的字节数,响应头不计算在内;这个变量和Apache的mod_log_config模块中的"%B"参数保持兼容 13 $bytes_sent #传输给客户端的字节数 14 $connection #TCP连接的序列号

爬虫相关

僤鯓⒐⒋嵵緔 提交于 2019-12-26 21:16:26
目录 例子:爬取汽车之家的新闻 例子二:对于需要登录的页面进行的页面爬取 请求头和请求体 扩展 Content-Type location重定向 requests模块 get请求 POST请求 其他请求 参数列表 最常用总结 BeautifulSoup features参数 参数说明 自动登录实例 python中的爬虫,有两个特别方便的模块,requests模块以及BeautifulSoup模块,requests模块主要提供http访问,BeautifulSoup模块主要解决爬取页面后对页面标签以及内容的处理。 例子:爬取汽车之家的新闻 先看个例子热热身: #!/usr/bin/python # -*- coding:utf-8 -*- import requests response = requests.get('http://www.autohome.com.cn/news/') # print(response.content) # 字节 response.encoding = 'gbk' html = response.text # 字符串 # 字符串结构化成为特殊的数据结构 from bs4 import BeautifulSoup obj = BeautifulSoup(html,'html.parser') # 找到符合条件的第一个标签 tag = obj.find

HTTP工作原理

廉价感情. 提交于 2019-12-26 19:49:52
HTTP 协议采用请求/响应模型。客户端向服务器发送一个请求报文,服务器以一个状态作为响应。 以下是 HTTP 请求/响应的步骤: ● 客户端连接到web服务器:HTTP 客户端与web服务器建立一个 TCP 连接; ● 客户端向服务器发起 HTTP 请求:通过已建立的TCP 连接,客户端向服务器发送一个请求报文; ● 服务器接收 HTTP 请求并返回 HTTP 响应:服务器解析请求,定位请求资源,服务器将资源副本写到 TCP 连接,由客户端读取; ● 释放 TCP 连接:若connection 模式为close,则服务器主动关闭TCP 连接,客户端被动关闭连接,释放TCP 连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求; ● 客户端浏览器解析HTML内容:客户端将服务器响应的 html 文本解析并显示; 例如:在浏览器地址栏键入URL,按下回车之后会经历以下流程: 1、浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址; 2、解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立 TCP 连接; 3、浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器; 4、服务器对浏览器请求作出响应,并把对应的

HTTP 1.1状态代码及其含义

帅比萌擦擦* 提交于 2019-12-26 18:59:03
100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新) 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新) 200 OK 一切正常,对GET和POST请求的应答文档跟在后面。 201 Created 服务器已经创建了文档,Location头给出了它的URL。 202 Accepted 已经接受请求,但处理尚未完成。 203 Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝(HTTP 1.1新)。 204 No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的。 205 Reset Content 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容(HTTP 1.1新)。 206 Partial Content 客户发送了一个带有Range头的GET请求,服务器完成了它(HTTP 1.1新)。 300 Multiple Choices 客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出。如果服务器要提出优先选择,则应该在Location应答头指明。 301 Moved

AngularJS + Flask 通过 CORS 实现跨域方案

时光怂恿深爱的人放手 提交于 2019-12-26 18:47:05
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 通过CORS实现跨域基本上完全由后端实现,本质让服务器通过新增响应头 Access-Control-Allow-Origin,通过 HTTP 方式来实现资源共享,让每个请求的服务直接返回资源。它使用了HTTP交互方式来确定请求源是否有资格请求该资源,并且通过设置HTTP Header来控制访问资源的权限。 AnglarJS 前端侧 <div class="topic"> <div ng-app="myApp" ng-controller="customersCtrl"> <ul> <li ng-repeat="ele in topics"> {{ ele.title + '| ' + ele.followers }} </li> </ul> </div> </div> <script> var app = angular.module('myApp', []); app.controller('customersCtrl', function($scope, $http) { $http.get("http://localhost:5000/toptopic/api/topics") .success(function (response) {$scope.topics = response.topics;})