HttpServletRequest&HttpServletResponse对象

 HttpServletRequest&HttpServletResponse对象不是由我们来创建的,而是由tomcat服务器创建,那么我们就可以直接来使用这两个对象A:HttpServletRequest:封装了我们的请求消息,获取到请求数据B:HttpServletResponse:封装了我们的响应消息,设置响应数据C:使用HttpServletResponse设置响应头以及响应状态码完成重定向操作 *响应行http/1.1200OKvoidsetStatus(intsc):设置响应状态码*响应头voidsetHeader(Stringname,Stringvalue):设置响应头信息*响应体ServletOutputStreamgetOutputStream():获取字节输出流,可以响应字节数据PrintWritergetWriter():获取字符输出流,可以响应字符数据...

HTTPS

HTTP为什么过时了?HTTP明文协议的缺陷,是导致数据泄露、数据篡改、流量劫持、钓鱼攻击等安全问题的重要原因。HTTP协议无法加密数据,为谋取商业利益网页篡改及劫持无处不在,即使是技术强悍的知名互联网企业,在每天数十亿次的数据请求中,都不可避免地会有小部分流量遭到劫持或篡改,更不要提其它的小微网站了。WIFI热点的普及和移动网络的加入,放大了数据被劫持、篡改的风险。HTTP协议无法验证通信方身份,任何人都可以伪造虚假服务器欺骗用户,实现“钓鱼欺诈”,用户根本无法察觉。什么是Https?Https就是为了解决安全问题而诞生的,极大的降低上述安全风险。HTTPS是HttpOverSSL,简单来说就是HTTP的安全版本,在HTTP的基础上通过加密传输和身份认证保证了传输过程中的安全性。我们通常访问的网站大部分都是HTTP的,最简单的辨别方法可以看看网址是以http://开头还是https://开头。HTTPS协议的目标主要有三个:1、数据保密性非对称加密数据的保密性主要是通过加密完成的。加密算法一般分为两种,一种是非对称加密(也叫公钥加密),另外一种是对称加密(也叫...
代码星球 代码星球·2020-08-08

HTTP和HTTPS的区别和常见的面试题

本篇会着重介绍http和https的区别和常见的面试题常见的http和https面试题:Http与Https的基本概念和他们的区别HTTPS工作原理常用的HTTP方法有哪些GET方法与POST方法的区别,什么时候应该使用GET什么时候应该使用POSTHTTP请求报文与响应报文格式常见的HTTP的状态码HTTP1.0,1.1,2.0之间的区别和特性常见HTTP首部字段HTTP的缺点与HTTPS有哪些改进HTTP优化一个页面从输入URL到页面加载显示完成,这个过程中都发生了什么?为什么HTTPS安全以上就是我进行总结的http和https的面试问题,接下来我会对每个问题予以解答分析,相信带着问题看答案会印象更深刻 Http与Https的基本概念和他们的区别http的中文叫做超文本传输协议,它负责完成客户端到服务端的一系列操作,是专门用来传输注入HTML的超媒体文档等web内容的协议,它是基于传输层的TCP协议的应用层协议https:https是基于安全套接字的http协议,也可以理解为是http+ssl/tls(数字证书)的组合http和https的区别:HTTP的URL以htt...

ResquestInfoServlet类通过访问HttpServletRequest对象的各种方法来读取HTTP请求中的特定信息,并且把它们写入到HTML中

ResquestInfoServlet类通过访问HttpServletRequest对象的各种方法来读取HTTP请求中的特定信息,并且把它们写入到HTML中ResquestInfoServlet.javapackagecom.demo.servlet;importcom.sun.xml.internal.ws.policy.privateutil.PolicyUtils;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.Enumeration;/** *Createdby谭雪娇on2017/4/5. */publicclassRequestInfoServlet...

HelloServlet类继承HttpServlet利用HttpServletResponse对象

HelloServlet类继承HttpServlet利用HttpServletResponse对象HelloServlet类的doGet()方法先得到username请求参数,对其进行中文字符编码转换,然后判断username是否为空,如果为空就返回403响应状态代码,否则就通过HttpServletResponse对象的getWriter()方法得到一个PrinterWriter对象,然后通过PrintWriter对象来输出HTML文档HelloServlet.javapackagecom.demo.servlet;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.io.IOException;importjava.io.PrintWriter;/*Createdby谭雪娇on2017/4/...

十分钟了解HTTPS

通信使用明文(不加密),内容可能会被窃听不能验证通信方的身份,所以请求和响应都有可能是攻击者发送的数据包在由A到B的过程中,可能经历很多次路由转发,这个过程中数据包可能会被劫持和替换,A和B都无法确定收到的信息是否就是对方发送的。无法证明报文的完整性,可能是经过篡改的信息。同样是在A到B传输过程中,数据包被劫持、篡改之后继续传输,虽然接收方收到的数据包就是发送方发送的那个,但是内容已经遭到篡改,这样无法保证报文的完整性。2.1HTTPS是什么?HTTPS:在HTTP通信时增加一层TLS通信,以前是HTTP直接和TCP通信,现在HTTP先与TLS通信,再由TLS和TCP进行通信。HTTPS拥有加密、证书校验身份、准确性校验这些功能,避免了HTTP的三个缺陷。TLS的前身是SSL,TLS1.0通常被标示为SSL3.1,TLS1.1为SSL3.2,TLS1.2为SSL3.3。HTTP建立通信时,只需要进行TCP三次握手就可以开始传输数据了,而HTTPS在建立通信时,先进行TCP三次握手,再进行TLS握手,然后开始发送数据。2.2HTTPS的加密功能加密技术分为:共享密钥加密,也叫对称密钥加密...
代码星球 代码星球·2020-08-01

ab(http)与abs(https)压测工具

来源 https://www.cnblogs.com/weizhxa/p/8427708.html 在学习ab工具之前,我们需了解几个关于压力测试的概念吞吐率(Requestspersecond)概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。计算公式:总请求数/处理完成这些请求数所花费的时间,即Requestpersecond=Completerequests/Timetakenfortests并发连接数(Thenumberofconcurrentconnections)概念:某个时刻服务器所接受的请求数目,简单的讲,就是一个会话。并发用户数(Thenumberofconcurrentusers,ConcurrencyLevel)概念:要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。用户平均请求等待时间(Timeperrequest)计算公式:处理完成所有请求数所花费的时间/(总请求数/并发用户数),即Time...
代码星球 代码星球·2020-08-01

Linux中git用https连接时不用每次输入密码

应用场景:比如每天凌晨执行crontab对应的项目部署脚本(使用git作为项目的版本控制)。 如果不这样做会怎么样?每次部署都要gitclone并输入对应的用户名和密码,需要人工。这样就显得很不自动化了。 那么解决方式有哪些呢?我这边推荐一个最简单有效的方式:cd~//进入根目录vim.git-credentials//编辑该文件.git-credentials添加如下内容:[credential]helper=store 接下来重新拉一下项目(gitclone或pull),输入一遍用户名和密码后,再次删了再重复该步骤,你就会发现不用再输入用户名和密码了。...

TypeScript之Https通信

NetWorkRequest.ts(源代码如下)import*ashttpsfrom"https";import*asvscodefrom'vscode';import*asquerystringfrom'querystring';exportclassNetWorkRequest{publicstaticsendRequest(userCode:string){vscode.window.showInformationMessage("userCode:"+userCode);varuserId=userCode;varpost_data={userId:userId}varcontents=querystring.stringify(post_data);varoptions={hostname:"www.test.com",port:443,//443path:"/test-web/api/sysUser/getUserCodeByInfo?"+contents,method:"POST",rejectUnauthorized:false,headers:{Accept:"*/*...
代码星球 代码星球·2020-07-24

node.js之客户端发起https和http请求

应用场景:1.VsCode插件开发(主要针对以javascript为主的vscode插件);2.使用Node.js开发的客户端程序Node.js之http请求(客户端)代码示例如下:varhttp=require('http');varqs=require('querystring');varuserCode="1";varpost_data={userCode:userCode};//这是需要提交的数据varcontent=qs.stringify(post_data);varoptions={hostname:'www.test.com',port:80,path:'/test-web/api/sysUser/getUserCodeByInfo',method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded;charset=UTF-8'}};varreq=http.request(options,function(res){console.log('STATUS:'+res.statusCode);...

Hutool工具类之HttpUtil使用Https

关于Hutool工具类之HttpUtil如何使用可以参考官方文档Hutool之HttpUtil其实使用Http和Https使用的方式是一样的。建议大家可以看看HttpUtil的源码,感觉设计的挺不错的。<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>4.1.0</version></dependency>@TestpublicvoidtestHttps()throwsException{JSONObjectjson=newJSONObject();json.put("username","1332788xxxxxx");json.put("password","123456.");Stringresult=HttpRequest.post("https://api2.bmob.cn/1/users").header("Content-Type","application/j...

nginx让所有的http地址重定向到https

问:为什么让所有的http都重定向到https呢?答:因为这样会使网站更安全些。那么我是如何在nginx配置,让输入http://www.youcongtech.com或者youcongtech.com全部都重定向到https://www.youcongtech.com的呢?其实我仅仅只是在nginx.conf配置文件中的server配置了如下:rewrite^(.*)$https://$host$1permanent;这段配置的含义将所有的http请求通过rewrite重写到https上。下面贴一下我的nginx.conf配置文件(主要重要的):upstreamwww.youcongtech.com{server39.107.110.227:2019;}server{listen80;server_namewww.youcongtech.com;rewrite^(.*)$https://$host$1permanent;#charsetkoi8-r;#access_loglogs/host.access.logmain;location~/{root/usr/local/nginx/...

阿里云配置tomcat https

阿里云申请免费的SSL证书和配置https,可参考该篇博文:https://blog.csdn.net/baidu_19473529/article/details/70037976虽然有现成的,不过我还是要做一个小小的总结记录一下。由于我公司使用的tomcat主要是8.5,所以我以8.5配置作为讲解(总的来说,配置相差不大)假定你已经在阿里云成功申请到免费的SSL证书,现在我们开始来配置。cdtomcat8mkdircert<Connectorport="443"protocol="org.apache.coyote.http11.Http11NioProtocol"maxThreads="150"SSLEnabled="true"scheme="https"secure="true"><SSLHostConfig><CertificatecertificateKeystoreFile="cert/test.pfx"certificateKeystoreType="PKCS12"certificateKeystorePassword="154123134...
代码星球 代码星球·2020-07-24

nginx配置https

其实nginx配置也差不太多,虽然差不太多,但还是有区别的。假定你已经在阿里云完成了证书申请,接下来你就可以按照如下配置(主要是修改nginx.conf文件)server{listen443;server_namewww.youcongtech.com;sslon;indexindex.html;ssl_certificate/usr/local/nginx/cert/1854029_www.youcongtech.com.pem;ssl_certificate_key/usr/local/nginx/cert/1854029_www.youcongtech.com.key;ssl_session_timeout5m;ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocolsTLSv1TLSv1.1TLSv1.2;ssl_prefer_server_cipherson;location/{proxy_set_headerX-Forwarded-H...
代码星球 代码星球·2020-07-24

javax.servlet.http.HttpServlet" was not found on the Java Build Path

问题解决(以maven为例):只需在pom.xml导入对应的两个依赖即可解决该问题:<dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.1</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version></dependency> ...
首页上一页...1213141516...下一页尾页