1.HTTP与HTTPS区别

HTTP协议默认采用80端口

HTTPS协议默认采用443

HTTPS相较于HTTP协议更安全一些,采用SSL+安全证书,但是效率低

2.使用代码格式模拟HTTP请求(HTTPClient)

2.1 使用HttpClient模拟get请求

//get请求
public static void getRequest() throws IOException {
//创建一个默认链接
CloseableHttpClient client= HttpClients.createDefault();
//创建一个请求
HttpGet httpGet=new HttpGet("https://www.baidu.com");
//执行请求获取响应的结果
CloseableHttpResponse response=client.execute(httpGet);
//获取响应的状态码
System.out.println("服务器返回的状态码:"+response.getStatusLine().getStatusCode());
//服务器正常响应
if(response.getStatusLine().getStatusCode()==200){
//获取响应的结果
System.out.println(EntityUtils.toString(response.getEntity(),"UTF-8")); }
//关闭结果对象
response.close();
//关闭连接
client.close();
}

2.2 运行结果

2.3 模拟post请求

编写一个servlet

@WebServlet("/HttpClientServlet")
public class HttpClientServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取数据
String username = req.getParameter("username");
System.out.println("接收的数据:"+username);
resp.setContentType("text/html;charset=utf-8");
resp.getWriter().write("服务器接收到数据啦~");
} @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req,resp);
}
}

2.4 post请求

//模拟post请求
public static void postRequest()throws IOException{
//创建连接
CloseableHttpClient client=HttpClients.createDefault();
//创建请求
HttpPost post=new HttpPost("http://localhost:8080/HttpClientServlet");
//创建参数队列
List<NameValuePair> pairs=new ArrayList<>();
pairs.add(new BasicNameValuePair("username","张三"));
//创建请求体,封装参数
UrlEncodedFormEntity entity=new UrlEncodedFormEntity(pairs,"UTF-8");
//将请求体交给当前请求
post.setEntity(entity); //发送请求
CloseableHttpResponse response=client.execute(post);
System.out.println("接收到的结果为:"+EntityUtils.toString(response.getEntity(),"UTF-8"));
//关闭资源
response.close();
client.close(); }
}

1.HTTP与HTTPS区别的更多相关文章

  1. GET和POST区别,http和https区别

    在开发中我们需要和后台进行数据的交互,但是咋样交互呢?通常我们是通过网络请求进行数据的交互,一般使用http/https/tcp/udp等进行数据的交互. http长连接和短连接 1. HTTP协议与 ...

  2. HTTP请求响应过程 与HTTPS区别

    原文:HTTP请求响应过程 与HTTPS区别 HTTP协议学习笔记,基础,干货 HTTP协议 HTTP协议主要应用是在服务器和客户端之间,客户端接受超文本. 服务器按照一定规则,发送到客户端(一般是浏 ...

  3. 计算机网络(十一),HTTP和HTTPS区别

    目录 1.SSL(Security Sockets Layer,安全套接层) 2.加密方式 3.HTTPS数据传输流程 4.HTTP和HTTPS的区别 5.HTTP真的很安全吗 十一.HTTP和HTT ...

  4. http https 区别

    HTTPS和HTTP的区别 一.https协议需要到ca申请证书,一般免费证书很少,需要交费.  二.http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议.  三. ...

  5. http和https区别及概念

    HTTP:是互联网上的应用广泛的一种网络协议,是一个客户端和服务器端请求和应答的传输协议,它可以使浏览器更加高效,使网络传输减少. HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版, ...

  6. http和https区别

    超文本传输协议 HTTP 协议被用于在 Web 浏览器和网站服务器之间传递信息,HTTP 协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了 Web 浏览器和网站服务器之间的传输报文, ...

  7. http与https区别,get与post请求区别

    引用:http://blog.csdn.net/m0_38099607/article/details/72864684 HTTP与HTTPS的区别 超文本传输协议HTTP协议被用于在Web浏览器和网 ...

  8. HTTP请求响应过程以及与HTTPS区别

    HTTP协议 HTTP协议主要应用是在服务器和客户端之间,客户端接受超文本. 服务器按照一定规则,发送到客户端(一般是浏览器)的传送通信协议.与之类似的还有文件传送协议(file transfer p ...

  9. Http 与 Https区别

    传统Http协议弊端 传统Http协议弊端是明文的,如果别人采用抓包分析可以获取到明文数据. 什么是Https协议 HTTPS(Hyper Text Transfer Protocol over Se ...

随机推荐

  1. 前端之js基础篇

    JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECM ...

  2. GitBook的账号注册和安装使用(一)

    1.GitBook账号注册 GitBook原注册地址  https://legacy.gitbook.com/join 改为: https://www.gitbook.com/ (1)注册账号:htt ...

  3. What Is A Airless Pump Bottle?

    What is an airless pump bottle?Unlike conventional dispensers that use a tube or suction tube to dra ...

  4. java篇 之 数组

    数组:本身也是对象元素数据类型必须一致,初始值为各种零(跟类型一致),数组中存放 的是对象的引用(地址),对象在其它空间,一旦创建长度不可变,length可以直 接访问 (new的时候才分配空间,创建 ...

  5. Mybatis空指针

    查询数据,返回的字段要在 resultMap 中定义, <resultMap id="BaseResultMap" type="com...." > ...

  6. SDNU_ACM_ICPC_2020_Winter_Practice_2nd

    A - [The__Flash]的矩阵 给你一个m×n的整数矩阵,在上面找一个x×y的子矩阵,使子矩阵中所有元素的和最大. Input输入数据的第一行为一个正整数T,表示有T组测试数据.每一组测试数据 ...

  7. Codeforces Round #620 (Div. 2) E

    LCA的倍增 模板: ], depth[maxn]; int dist[maxn],head[maxn]; void add(int u,int v,int dist0){ a[tot].next=h ...

  8. 【Struts 文件上传下载】

    RegisterAction package k.action; import k.domain.User; import k.form.UserForm; import k.service.User ...

  9. Ansible playbooks(任务、角色、模板、变色器、)

    playbooks配置文件: [root@ansible ~]# vim /etc/ansible/hosts [test01] 192.168.200.114 [test02] 192.168.20 ...

  10. ASP.NET Core搭建多层网站架构【15-扩展之使用Obfuscar混淆加密保护代码】

    2020/02/03, ASP.NET Core 3.1, VS2019, Obfuscar 2.2.25 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构[15-扩展之使 ...