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. LeetCode | No.2 两数相加

    ​题目描述 给出两个非空的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序的方式存储的,并且它们的每个节点只能存储一位数字.如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...

  2. C:类型限定符

  3. 4、maven——构建生命周期

    什么是生命周期? 构建生命周期是一组阶段的序列(sequence of phase),每个阶段定义了目标被执行的顺序,这里的阶段就是生命周期的一部分. 一个典型的Maven生命周期由一些几个阶段的序列 ...

  4. 【C语言】将输入的10个整数逆序输出

    代码1: #include <stdio.h> int main() { ], b[]; int i,j; printf("请输入10个整数:\n"); ; i < ...

  5. mysql之mysql的安装

    此次MySQL安装的版本为:MySQL8.0 系统为:centos6.9 64位 一.利用yum仓库安装 wget https://repo.mysql.com//mysql80-community- ...

  6. python练习:斐波那契数列的递归实现

    python练习:斐波那契数列的递归实现 重难点:递归的是实现 def fib(n): if n==0 or n==1: return 1 else: return fib(n-1)+fib(n-2) ...

  7. Spring Boot 2.0 新特性

    这是一篇总结文章,主要收集 Spring Boot 2.0 相对于 Spring Boot 1.x 的新特性,本章节并不提供实践性质的源代码.在 Spring Boot 系列文章中会持续退出实践章节. ...

  8. C - Water The Garden

    It is winter now, and Max decided it's about time he watered the garden. The garden can be represent ...

  9. Install fail! Error: EBUSY: resource busy or locked, symlink

    前些日子从github上下载了一个项目 然后放在桌面上  ,但是运行的时候 报了Install fail! Error: EBUSY: resource busy or locked, symlink ...

  10. ubuntu安装zsh终端

    搬砖博文:https://blog.csdn.net/lxn9492878lbl/article/details/80795413 1.安装zsh sudo apt-get install zsh 2 ...