intellij idea下载 莱斯分布 状态模式 xamarin tkinter tinymce Select2 vue绑定事件 jquery通过class获取元素 jquery获取最后一个子元素 matlab向量的模 excel被保护怎么解除 css面试题 SketchUp mysql查询 python基础教程 python匹配字符串 python的lambda函数 java变量 java迭代器 java基础数据类型 java的数据类型 java循环语句 java入门代码 java怎么编程 javalist数组 win10计算器下载 phpqrcode 零基础学python 修改tomcat端口 beatedit 图片批量处理工具 无法打开搜索页 系统维护工具 图片轮播代码 小米手环充电多久 VSPD 网页自动点击 深入解析windows操作系统 qq黑客软件
当前位置: 首页 > 学习教程  > 编程语言

HTTP知识梳理

2020/12/5 9:36:49 文章标签:

一,一次HTTP请求,程序一般经历的步骤 1)解析域名 2)发起TCP三次握手,建立连接 3)基于TCP发起HTTP请求 4)服务器响应HTTP请求,并返回数据 5)客户端解析返回数据 二&…

一,一次HTTP请求,程序一般经历的步骤

1)解析域名
2)发起TCP三次握手,建立连接
3)基于TCP发起HTTP请求
4)服务器响应HTTP请求,并返回数据
5)客户端解析返回数据
在这里插入图片描述

二,HTTP几种常用的响应状态码

200:表示成功正常请求
400:语义有误,一般是请求格式不对
401:需求用户验证权限,一般是证书token没通过认证
403:拒绝提供服务
404:资源不存在
500:服务器错误
503:服务器临时维护,过载;可恢复

三,session和cookie的区别

1)存储位置不同,cookie是保存在客户端的数据;session的数据存放在服务器上
2)存储容量不同,单个cookie保存的数据小,一个站点最多保存20个Cookie;对于session来说并没有上限
3)存储方式不同,cookie中只能保管ASCII字符串;session中能够存储任何类型的数据
4)隐私策略不同,cookie对客户端是可见的;session存储在服务器上,对客户端是透明对
5)有效期上不同,cookie可以长期有效存在;session依赖于名为JSESSIONID的cookie,过期时间默认为-1,只需关闭窗口该session就会失效
6)跨域支持上不同,cookie支持跨域名访问;session不支持跨域名访问

四,HTTP分块传送及好处

分块传送是HTTP的一种传输机制,允许服务端发送给客户端的数据分成多个部分,该协议在HTTP/1.1提供
1.HTTP分块传输编码允许服务器为动态生成的内容维持HTTP持久连接
2.分块传输编码允许服务器在最后发送消息头字段。对于那些头字段值在内容被生成之前无法知道的情形非常重要,例如消息的内容要使用散列进行签名
3.HTTP服务器有时使用压缩 (gzip或deflate)以缩短传输花费的时间。分块传输编码可以用来分隔压缩对象的多个部分。在这种情况下,块不是分别压缩的,而是整个负载进行压缩。分块编码有利于一边进行压缩一边发送数据

五,HTTP的长连接

1.长连接是指客户端和服务建立TCP连接后,它们之间的连接会持续存在,不会因为一次HTTP请求后关闭,后续的请求也是用这个连接
2.长连接可以省去TCP的建立和关闭操作,对于频繁请求的客户端适合使用长连接,但是注意恶意的长连接导致服务受损(建议内部服务之间使用)

六,HTTP的安全性以及加强

并非安全,HTTP传输的数据都是明文的,容易被第三方截取;要做安全传输数据,可以使用HTTP的升级版HTTPS协议

七,HTTPS和HTTP的区别

1)http协议的连接是无状态的,明文传输
2)HTTPS是由SSL/TLS+HTTP协议构建的有加密传输、身份认证的网络协议

八,SSL/TLS是什么,HTTPS的安全性是怎样实现的?

1.SSL(Secure Socket Layer 安全套接层)是基于HTTPS下的一个协议加密层,保障数据私密性。TLS(Transport Layer Security)则是升级版的SSL
2.https在http基础加了一层安全认证及加密层TLS或者SSL,它首先会通过安全层进行ca证书认证,正确获取服务端的公钥
3.接着客户端会通过公钥和服务端确认一种加密算法,后面的数据则可以使用该加密算法对数据进行加密


本文链接: http://www.dtmao.cc/news_show_450022.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?