1.HTTP与HTTPS区别

Posted danxun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.HTTP与HTTPS区别相关的知识,希望对你有一定的参考价值。

 

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区别的主要内容,如果未能解决你的问题,请参考以下文章

HTTP 与 HTTPS 的区别

学习笔记HTTP与HTTPS的区别

浅谈HTTP与HTTPS区别

HTTP与HTTPS的区别小结

http与socket和https的区别

HTTP协议与HTTPS协议的区别