http请求

web框架

邮差的信 提交于 2019-12-24 20:56:30
一、 http协议 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。 二、HTTP特点 1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 3.无连接

http协议(三)

三世轮回 提交于 2019-12-24 18:19:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 3. 深入了解篇 3.1 Cookie和Session Cookie和Session都为了用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决HTTP无状态的问ti而所做的努力。 Session可以用Cookie来实现,也可以用URL回写的机制来实现。用Cookie来实现的Session可以认为是对Cookie更高级的应用。 3.1.1两者比较 Cookie和Session有以下明显的不同点: 1)Cookie将状态保存在客户端,Session将状态保存在服务器端; 2)Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服 务器。Cookie最早在RFC2109中实现,后续RFC2965做了增强。网络服务器用HTTP头向客户端发送cookies,在客户终端,浏览器解 析这些cookies并将它们保存为一个本地文件,它会自动将同一服务器的任何请求缚上这些cookies。Session并没有在HTTP的协议中定 义; 3)Session是针对每一个用户的,变量的值保存在服务器上,用一个sessionID来区分是哪个用户session变量,这个值是通过用户的浏览器在访问的时候返回给服务器,当客户禁用cookie时,这个值也可能设置为由get来返回给服务器; 4)就安全性来说

nginx 常见正则匹配符号表示

浪尽此生 提交于 2019-12-24 17:52:58
nginx 常见正则匹配符号表示 1 2 3 4 5 6 7 8 9 10 11 1、^: 匹配字符串的开始位置; 2、 $:匹配字符串的结束位置; 3、.*: .匹配任意字符,*匹配数量0到正无穷; 4、\. 斜杠用来转义,\.匹配 . 特殊使用方法,记住记性了; 5、(值1|值2|值3|值4):或匹配模式,例:(jpg|gif|png|bmp)匹配jpg或gif或png或bmp 6、i不区分大小写   一.正则表达式匹配,其中: * ~ 为区分大小写匹配 * ~* 为不区分大小写匹配 * !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 二.文件及目录匹配,其中: * -f和!-f用来判断是否存在文件 * -d和!-d用来判断是否存在目录 * -e和!-e用来判断是否存在文件或目录 * -x和!-x用来判断文件是否可执行 三.rewrite指令的最后一项参数为flag标记,flag标记有: 1.last 相当于apache里面的[L]标记,表示rewrite。 2.break本条规则匹配完成后,终止匹配,不再匹配后面的规则。 3.redirect 返回302临时重定向,浏览器地址会显示跳转后的URL地址。 4.permanent 返回301永久重定向,浏览器地址会显示跳转后的URL地址。 使用last和break实现URI重写,浏览器地址栏不变。而且两者有细微差别

HTTP 协议简介

一曲冷凌霜 提交于 2019-12-24 16:45:21
HTTP 协议简介 http://zsxxsz.javaeye.com/blog/568250 一、TCP/IP 协议介绍   在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容。TCP/IP协议是分层的,从底层至应用层分别为:物理层、链路层、网络层、传输层和应用层,如下图所示:   从应用层至物理层,数据是一层层封装,封装的方式一般都是在原有数据的前面加一个数据控制头,数据封装格式如下:   其中,对于TCP传输协议,客户端在于服务器建立连接前需要经过TCP三层握手,过程如下: 二、HTTP协议 2.1 简介   超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议,自 1990 年起,HTTP 就已经被应用于 WWW 全球信息服务系统。   HTTP 是一种请求/响应式的协议。一个客户机与服务器建立连接后,发送一个请求给服务器;服务器接到请求后,给予相应的响应信息。   HTTP 的第一版本 HTTP/0.9是一种简单的用于网络间原始数据传输的协议;   HTTP/1.0由 RFC 1945 定义 ,在原 HTTP/0.9 的基础上,有了进一步的改进,允许消息以类 MIME 信息格式存 在,包括请求/响应范式中的已传输数据和修饰符等方面的信息;   HTTP/1.1(RFC2616) 的要求更加严格以确保服务的可靠性

nginx 默认配置语法和日志的format

主宰稳场 提交于 2019-12-24 10:48:46
nginx 默认配置 查看有nginx哪些默认配置文件,打开/etc/nginx/nginx.conf文件,查看尾行部分 会默认将/etc/nginx/conf.d/文件下其他以.conf结尾的配置文件都导入到该文件中。 查看/etc/nginx/conf.d/文件下默认有哪些文件 ls /etc/nginx/conf.d/ 也就是说默认情况下有两个配置文件nginx.conf default.conf 解读 nginx.conf 配置文件,该配置文件主要分为三大块   第一块: user 设置nginx服务的系统使用用户 worker_processes 工作进程数 error_log nginx的错误日志 pid nginx服务启动时候pid 第二块:(事件) events worker_connections 每个进程允许最大连接数 use 工作进程数 (设置是 epoll 还是 select) 第三块: http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http

【转载】HTTP1.0、HTTP1.1和HTTP2.0的区别

痞子三分冷 提交于 2019-12-24 07:19:16
一、HTTP的历史 早在HTTP建立之初,主要就是为了将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。也是说对于前端来说,我们所写的HTML页面将要放在我们的web服务器上,用户端通过浏览器访问url地址来获取网页的显示内容,但是到了WEB2.0以来,我们的页面变得复杂,不仅仅单纯的是一些简单的文字和图片,同时我们的HTML页面有了CSS,Javascript,来丰富我们的页面展示,当ajax的出现,我们又多了一种向服务器端获取数据的方法,这些其实都是基于HTTP协议的。同样到了移动互联网时代,我们页面可以跑在手机端浏览器里面,但是和PC相比,手机端的网络情况更加复杂,这使得我们开始了不得不对HTTP进行深入理解并不断优化过程中。 二、HTTP的基本优化 影响一个HTTP网络请求的因素主要有两个: 带宽 和 延迟 。 带宽 如果说我们还停留在拨号上网的阶段,带宽可能会成为一个比较严重影响请求的问题,但是现在网络基础建设已经使得带宽得到极大的提升,我们不再会担心由带宽而影响网速,那么就只剩下延迟了。 延迟 浏览器阻塞(HOL blocking):浏览器会因为一些原因阻塞请求。浏览器对于同一个域名,同时只能有 4 个连接(这个根据浏览器内核不同可能会有所差异),超过浏览器最大连接数限制,后续请求就会被阻塞。 DNS 查询(DNS Lookup)

关于restTemplate

此生再无相见时 提交于 2019-12-24 04:25:44
restTemplate常见的问题如下 .RestTemplate默认使用HttpMessageConverter实例将HTTP消息转换成POJO或者从POJO转换成HTTP消息。 默认情况下会注册主mime类型的转换器,但也可以通过setMessageConverters注册自定义转换器。 .RestTemplate使用了默认的DefaultResponseErrorHandler,对40XBad Request或50Xinternal异常error等错误信息捕捉 RestTemplate还定义了很多的REST资源交互的方法,其中的大多数都对应于HTTP的方法,如下: delete():在特定的URL上对资源执行HTTP DELETE操作 exchange():在URL上执行特定的HTTP方法,返回包含对象的ResponseEntity execute():在URL上执行特定的HTTP方法,返回一个从响应体映射得到的对象 getForEntity():发送一个HTTP GET请求,返回的ResponseEntity包含了响应体所映射成的对象 getForObject():发送一个HTTP GET请求,返回的请求体将映射为一个对象 postForEntity():POST 数据到一个URL,返回包含一个对象的ResponseEntity postForObject():POST

Nginx简介及配置文件详解

前提是你 提交于 2019-12-24 01:10:12
http://blog.csdn.net/hzsunshine/article/details/63687054 一 Nginx简介 Nginx是一款开源代码的 高性能HTTP服务器 和 反向代理服务器 ,同时支持 IMAP/POP3/SMTP代理服务 1.Nginx工作原理 Nginx由 内核 和 模块 组成,完成工作是通过查找配置文件将客户端请求映射到一个location block(location是用于URL匹配的命令),location配置的命令会启动不同模块完成工作。 Nginx模块分为核心模块,基础模块和第三方模块。 核心模块:HTTP模块、EVENT模块(事件)、MAIL模块。 基础模块:HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块、HTTP Rewrite模块。 第三方模块:HTTP Upstream Request Hash模块、Notice模块、HTTP Access Key模块。 2.性能优势 web服务器 ,处理静态文件、索引文件以及自动索引效率高。 代理服务器,快速高效 反向代理 ,提升网站性能。 负载均衡器,内部支持Rails和PHP,也可支持HTTP代理服务器,对外进行服务。同时 支持简单容错 和利用 算法进行负载均衡 。 性能方面,Nginx专门为性能设计,实现注重效率。采用Poll模型,可以支持更多的并发连接

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

浪子不回头ぞ 提交于 2019-12-23 15:56:54
http://www.cnblogs.com/ranyonsue/p/5984001.html https://www.cnblogs.com/qdhxhz/p/8468913.html 【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、 简单快速 :客户向服务器请求服务时,只需传送 请求方法 和

前端性能优化的另一种方式——HTTP2.0

梦想与她 提交于 2019-12-23 13:02:58
一直听说HTTP2.0,对此也仅仅是耳闻,没有具体研读过,这次正好有两个篇章,分别讲HTTP1.1和HTTP2.0。 两者还能好好对比一下,两者之间的巨大区别,以及HTTP2.0解决了哪些实际问题。 无论什么网络,也不管所用网络协议是什么版本,所有应用都应该致力于 消除或减少不必要的网络延迟 , 将需要传输的数据压缩至最少 。 HTTP2.0就是为了做这些优化而出现的。 一、HTTP1.1的几个特点 1)持久连接 每个TCP连接开始都有三次握手,要经历一次客户端与服务器间完整的往返,而开启了持久化连接就能不必每次都要握手。 在连接中有这个属性的就是打开了持久化连接。下图展示了通过持久 TCP 连接取得 HTML 和 CSS 文件: 2) HTTP管道 持久HTTP多次请求必须严格满足先进先出( FIFO )的队列顺序:发送请求,等待响应完成,再发送客户端队列中的下一个请求。 HTTP管道可以让我们把FIFO队列从客户端(请求队列) 迁移到服务器 (响应队列)。 这样的话在第一个请求完成后,能马上开始处理第二个请求。 但HTTP 1.x不允许一个连接上的多个响应数据交错到达(多路复用),因而一个响应必须完全返回后,下一个响应才会开始传输。 也就是说即使客户端同时发送了两个请求,而且CSS资源先准备就绪,服务器也会 先发送HTML 响应,然后 再交付CSS 。 而HTTP2