网络编程知识预备(5) —— 了解应用层的HTTP协议与HTTPS协议

参考:网络编程知识预备(4) ——了解应用层的HTTP协议与HTTPS协议_行稳方能走远的博客-CSDN博客

Http协议之详解 - 谢呈勖 - 博客园 (cnblogs.com)


目录

一、HTTP协议

1、http协议的特性

2、http协议的请求

        请求行

        GET请求

        POST 请求(人脸识别方案)

        两个请求的区别

        本质区别:

        (1)url 携带的参数是否可见:

        (2)参数传递方式

        (3)缓存性

        (4)页面后退的反应

        (5)传输数据的大小

        (6)安全性

        请求头

        请求主体

3、http协议的响应

响应行

响应头

响应主体

二、 HTTPS协议

1、简介与原理

2、密码学基础

明文与密文

密钥

        对称加密(私钥+私钥)

        非对称加密(公钥+私钥)

三、HTTPS相对于HTTP优缺点

优点:正确率更高,安全性更强

缺点:效率低,成本高


一、HTTP协议

重点了解GET请求和POST请求,以及他们的区别。

1、http协议的特性

http协议是建立在TCP/IP协议之上应用层协议,默认端口为80或者8080

http协议的的特点是无状态短连接

2、http协议的请求

利用抓包工具httpwatch可以获取报文,多见于前端,后端用于分析数据传输过程中产生的问题 

http协议的报文传输的是ASCII码,在TCP/IP协议之上,主要主要分为三部分: 

  • 请求行

浏览器向服务器发送的,在第一行,包含:

  • 请求方式(GET请求、POST请求)
  • url(网址)
  • http协议版本

GET请求

例如:在这里插入图片描述

 请求方式是GET请求,url 携带的参数可见,http协议版本是1.1

POST 请求(人脸识别方案)

例如:

在这里插入图片描述

 请求方式为POST请求,url携带的参数不可见,协议版本是1.1

两个请求的区别

本质区别:

GET产生一个TCP数据包;POST产生两个TCP数据包。

  • 对于GET方式的请求,浏览器会把 http header 和 data 一并发送出去,服务器响应200(返回数据);
  • 对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送 data,服务器响应200 ok(返回数据)。

200是什么意思,总结起来一句话,以2开头的为成功,以4开头的多为失败,如常见的404. 

详情跳转:

http协议中各个响应状态200_301_404_500等返回值含义快速一览 - 测试那点事儿_TestYao - 博客园 (cnblogs.com)

还有:

(1)url 携带的参数是否可见:

get,url 携带的参数可见

例如:

var url = 'http://192.168.1.40:8080/v1/sea?page=1&per_page=10' + 'search=' + escape(str)

 参数用 & 符号进行连接,被当做参数的分隔符来进行处理。上面就两个参数。page=1,per_page=10

 post,url 携带的参数不可见

有参数,但被隐藏起来了,可以通过抓包查看这个参数。

(2)参数传递方式

get,通过请求行拼接url进行传递参数

post,通过请求主体传输参数

(3)缓存性

get 请求是可以缓存的

post 请求不可以缓存

(4)页面后退的反应

get 请求页面后退时,不产生影响(因为有缓存)

post 请求页面后退时,会重新提交请求(没有缓存)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值