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. VIM - EX 命令 - 文件读写

    VIM - EX 命令 - 文件读写 1. 概述 vim 通过 ex 命令行, 与其他文件的读写操作 2. 场景 场景1 vim 打开文本 将当前文本的内容, 写入到其他文本 场景2 vim 打开文本 ...

  2. nodejs的req取参req.body,req.params,req.query

    1/req.query: Get:/domo?name=ximiximi&blog=https://home.cnblogs.com/u/ximiximi-blog/ app.get('/do ...

  3. API接收数据反序列化失败问题查找

    C# API接收到数据后,反序列化后直接返回null,而不会给出错误提示,所以不好排查错误. 通过在api中直接进行反序列化,能够得到错误明细: 没有报错的时候,request会直接为null,不会报 ...

  4. Django跨域:

    下包 pip install django-cors-headers 下面的操作在setting里 添加到appps里 INSTALLED_APPS = [ ... 'corsheaders', .. ...

  5. __dirname和__filename和process.cwd()三者的区别

    1.process cwd() 方法返回 Node.js 进程当前工作的目录 例:我在F:\自己的文件\自己在网上学习的知识点\node学习\node-API\process 这个文件加下面创建了一个 ...

  6. 一个汇编小demo

    一个小demo: #include<stdio.h> void main(){ ; char *str="i=%d\n"; printf("begin\n&q ...

  7. html表单中的input元素的两种提交方式比较(get/post)

    Http存在两种最常用的提交方式:Get和Post(电话面试有问到两种提交方式的区别) 什么是HTTP? 超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信. HTTP 的工作方式是客 ...

  8. Mybatis 的分页插件 PageHelper

    我用的版本是PageHelper-4.1.1.Mybatis-3.3.0 PageHelper 依赖于 jsqlparser-0.9.4.jar   使用方法: 1.根据Mybatis的版本下载对应版 ...

  9. Django ORM 常用的13个方法

    介绍一个可以以py脚本方式运行ORM操作的方法: 可在项目内新建个py文件,复制项目内manage.py文件中的以下代码: if __name__ == "__main__": o ...

  10. 04-Docker-Container管理操作

    目录 04-Docker-Container管理操作 参考 容器运行须知 容器生命周期 容器管理命令 1. 生命周期 2. 查看操作 3. 命令执行 4. 文件复制 容器用途分类 04-Docker- ...