http和https
HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
https比http多出了一个ssl层,正是这一层使得http和https产生了区别,http数据传输是明文传输,是未加密的,而https增加了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密
HTTPS工作原理
Request请求数据包数据格式
1.请求行:请求类型、请求资源路径、协议的版本和类型
HOST:主机或域名地址
Accept:指浏览器或其他客户可以接受的MIME文件格式。Servlet可以根据它判断并返回适当的文件格式。
User-Agent:是客户浏览器名称(浏览器信息)
Accept-Langeuage:指出浏览器可以接受的语言种类,如en或en-us,指英语
Connection:浏览器用这个属性向服务器发送Cookie。它是寄存在服务器中的小型数据体,它可以记载和服务器相关的用户信息,也可实现会话功能。
Referer:表明产生请求的网页URL。该属性可以跟踪Web请求是从什么网站来的。
2.请求头:一些键值对,浏览器与web服务器之间都可以发送,特定的某种含义
3.空行:请求头与请求体之间用一个空行隔开
4.请求体:要发送的数据(一般post提交会使用)
Response返回数据包数据格式
1.状态行:协议版本、数字形式的状态代码和状态描述,各元素之间以空格分隔
2.响应头标:包含服务器类型、日期、长度、内容类型等
3.空行:响应头与响应体之间用空行隔开
4.响应数据:浏览器会将实体内容的数据取出来,生成相应的页面
HTTP响应码:
1XX:信息类(Information),表示收到http请求,正在进行下一步处理
2XX:成功类(Successful),表示用户请求被正确接收、理解和处理
3XX:重定向类(Redirection),表示没有请求成功,必须采取进一步的动作
4XX:客户端错误(Client Error),表示客户端提交的请求包含语法错误或不能正确执行
5XX:服务端错误(Server Error),表示服务器不能正确执行一个正确的请求(客户端请求的方法及参数是正确的,服务端不能正确执行,如网络超时、服务僵死,可以查看服务端日志再进一步解决)