http请求

HTTP/2简介

社会主义新天地 提交于 2019-12-11 19:31:46
1.HTTP/2的定义: HTTP/2即超文本传输协议2.0,是HTTP/1.1下一代的协议。是由互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis (httpbis)工作小组进行开发。 是自1999年HTTP/1.1发布后的首个更新。HTTP/2.0在2013年8月进行首次合作共事性测试。在开放互联网上HTTP/2.0将只用于" https:// " 网址,而 " http:// " 网址将继续使用HTTP/1。 目的是在开放互联网上增加使用加密技术,以提供强有力的保护去遏制主动攻击。 2.HTTP/1.1的不足: 一个网页加载的时候需要一些数据(css、js、图片等)这些请求是并发地向服务器发送的,并发的发送过程中就需要并发地创建TCP连接(一个请求对应一个TCP连接)。 一方面浏览器有并发连接数的限制,比如chrome限制一次性最多并发6个请求;如果请求创建TCP连接的并发请求一次超过6个,超过的请求就必须等待前面6个请求收到服务器的返回之后才能继续发送剩余请求。 这种等待,就算是一种相对串行的传输,效率不高;另一方面:由于不同请求需要建立不同的TCP连接,同时进行6次TCP的”三次握手”,那么创建连接的开销是比较大的; 同时对于一个服务器来说,它可创建的TCP连接数肯定是有上限的

12-11:javaWeb、HTTP、Servlet

北城余情 提交于 2019-12-11 19:04:08
应用层常用协议: SMTP:简单邮件传输协议 FTP:文件传输协议 DNS:域名服务器 SNMP:简单网络管理协议 NFS:网络文件系统协议 HTTP:超文本传输协议(短连接 ) TELNET:远程登录协议 http是隶属于tcp家族里的协议 传输层协议: TCP:传输控制协议(长连接),是可靠传输的 UDP:用户数据包协议,不可靠传输 网际层协议 ICMP: IGMP: IP: 网络接口层: LAN:局域网 MAN:城域网 WAN:广域网(万维网) HTTP版本1.1中定义了八种可能的HTTP请求方式 GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT HTTP协议的主要特点: 遵循请求/响应模型:支持客户端/服务器模式 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户端的请求,并收到客户端应答后,即断开连接 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。 简单快速:客户向服务器请求服务时,只需要传送请求方法和路径。 灵活:HTTP允许传输任意类型的数据对象。 HTTP定义的事务处理有四步处理: 建立连接(三次握手) 客户端发送请求 服务器响应 关闭连接 响应码: 1xx:信息,请求收到,继续处理 2xx:成功,行为被成功的接收、理解和采纳 3xx:重定向,为了完成请求,必须进一步执行的动作

http协议解析

妖精的绣舞 提交于 2019-12-11 18:45:54
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 一、HTTP协议详解之URL篇 http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议

Spring Cloud GateWay

柔情痞子 提交于 2019-12-11 18:05:06
一,简单的示例 入门 参考地址: http://www.ityouknow.com/spring-cloud 1.1 pom.xml 使用 Spring Cloud Finchley 版本,Finchley 版本依赖于 Spring Boot 2.0.6.RELEASE。 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.6.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> ​ <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.SR2</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> <

理论 :熟悉web基础与http协议

南楼画角 提交于 2019-12-11 10:28:01
前言: 前端中语言 HTML(超文本标记语言) CSS(层叠样式表) JavaScript(动态语言交互,简称js) JSP(最终会转化成java语言) JavaScriptPage(页面,与js没有关系) VUE(典型的能很容易的实现前后端分离,渐进式JavaScript框架) ECHARTS(用于数据图片分析展示,可以了解一下) bootstrap (前端开发框架) C# 主要擅长做窗口开发 一 : 域名概述 1.1 域名的概念 IP地址不易记忆 1.2 早期使用Hosts文件解析域名 主机名称重复 主机维护困难 1.3 DNS(Domain Name System 域名系统) 分布式 层次性 1.4 win中 hosts文件的路径 1.5 win中hosts文件中的内容 在进行域名解析时,会默认先去识别hosts文件,若是hosts中有指向,则可以快速的去找到目标服务器,而不用每次都要去找DNS服务器,从而加快运行速度 1.6 域名空间结构 URL(网络资源定位) http://www.kgc.com/test 协议://主机名.二级域名.顶级域/虚拟目录 二 : 网页的概念 2.1 网站 由一个一个页面构成的,是多个网页的结合体 2.2 网页 纯文本格式文件,其编写语言为HTML,在用户的浏览器中被“翻译”成网页形式显示出来 2.3 主页

Koa 实战 - 鉴权

最后都变了- 提交于 2019-12-11 08:00:42
学习目标 掌握三种常见鉴权方式 Session/Cookie Token OAuth session-cookie方式 cookie原理解析 // cookie.js const http = require ( "http" ) http . createServer ( ( req , res ) => { if ( req . url === '/favicon.ico' ) { return } else { console . log ( req . headers . cookie ) // cx-abc res . setHeader ( 'Set-Cookie' , 'cx-abc' ) res . end ( 'hello cookie' ) } } ) . listen ( 3000 ) session原理解析 const http = require ( "http" ) const session = require ( "session" ) http . createServer ( ( req , res ) => { const sessionKey = 'sid' if ( req . url === '/favicon.ico' ) { return } else { console . log ( req . headers . cookie

Nginx学习笔记(三)

我们两清 提交于 2019-12-11 06:27:45
Request: Nginx 中的 ngx_http_request_t 是对一个 http 请求的封装; 一个 http 请求包含:请求行、请求头、请求体,响应行、响应头、响应体 Nginx开发从入门到精通:http://tengine.taobao.org/book/ 来源: CSDN 作者: 夜空中最亮的星*** 链接: https://blog.csdn.net/weixin_38054045/article/details/103465674

nginx泛域名http(80)强制跳转https(443)

落花浮王杯 提交于 2019-12-11 03:16:46
nginx泛域名http(80)强制跳转https(443) 随着chrome浏览器在地址栏开始标注网站『不安全』的提示开始,各大小网站都开始从http转为https了,并且都更注重网站的安全了。然页我们之前的很多站点都是基于http开发的,如果全部改造成https,必然是很大的工作量,幸好有第三方的工具可以为我们解决这个问题,可以让原有的系统不改动的情况下,或者少改动的情况下就能够满足这个需求。nginx就是其中使用最为广泛的一个,并且它的响应最快,目前国内绝大多数平台或者系统在前端都使用的是nginx或者nginx的变种。 为每个域名(子域名)申请证书,然后配置nginx,这样就可以解决https证书问题。但为每个域名或者子域名都申请一个证书,暂起不说费用问题,申请也是比较麻烦的事,所以申请一个支持泛域名的能用证书是最方便的,所有子域名都可以使用该证书,肯定是最快捷的。 业务需求: 通过NGINX方向代理实现转发,并要求不论http或https.最终实现https方式访问网站. 单域名的: upstream drift { server IP:prot } server { listen 80; server_name drift.hk; server_name www.drift.hk; rewrite ^ https://www.drift.hk$request_uri?

nginx根据http_user_agent防DDOS

爱⌒轻易说出口 提交于 2019-12-11 02:41:18
端squid反向代理到nginx nginx根据http_user_agent防DDOS 首先查看访问日志,找出可疑访问 找到http_user_agent 的特征,然后再作过滤 "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; MyIE 3.01)Cache-Control: no-store, must-revalidate" if ( $http_user_agent ~ must - revalidate ) { return 503 ; } #这样就返回503错误 location = / { include proxy . conf ; if ( $http_user_agent ~ * "MSIE 5.01" ) { proxy_pass http : / / www . qq . com ; #access_log / usr / local / nginx / logs / k . log main ; } proxy_pass http : / / windows . abc . com ; } #判断一下user-agent,如果是MSIE 5.01就把它丢到另外一个地方去就可以了,比如指向www.qq.com,看看能不能抗得住,哈哈 proxy_hide_header Cache-Control;

servlet重点知识总结

我与影子孤独终老i 提交于 2019-12-11 01:04:48
Servlet Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。 使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。 Servlet任务 Servlet 执行以下主要任务: • 读取客户端(浏览器)发送的显式的数据。这包括网页上的 HTML 表单,或者也可以是来自 applet 或自定义的 HTTP 客户端程序的表单。 • 读取客户端(浏览器)发送的隐式的 HTTP 请求数据。这包括 cookies、媒体类型和浏览器能理解的压缩格式等等。 • 处理数据并生成结果。这个过程可能需要访问数据库,执行 RMI 或 CORBA 调用,调用 Web 服务,或者直接计算得出对应的响应。 • 发送显式的数据(即文档)到客户端(浏览器)。该文档的格式可以是多种多样的,包括文本文件(HTML 或 XML)、二进制文件(GIF 图像)、Excel 等。 • 发送隐式的 HTTP 响应到客户端(浏览器)。这包括告诉浏览器或其他客户端被返回的文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务。 Servlet生命周期 Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是