HTTP协议分层管理
· 应用层 HTTP,FTP,DNS...
· 传输层 TCP,UDP
· 网络层 IP
· 链路层 frame
TCP/IP通信传输流
URI和URL的含义
· URI( Uniform Resource Identifier):统一资源标识符
· URI是由某个协议方案表示的资源的定位标识符协议方案是指访问资源所使用的协议类型名称。
· 协议方案有 . http. ftp, mailto. telnet. file, http所以htp协议也只是URI众多协议中的一种。
注:URL和URI中的层次路径的分隔符号是:/
· URL( Uniform Resource Locator):统一资源定位符有时也被俗称为网页地址。
· URI用字符串标识某一互联网资源
· URL表示资源的地点(互联网上所处的位置)
· URL是URI的子集,在充分理解的基础上,可以用URL替换URI
HTTP协议
· HTTP协议规定,请求从客户端发出,最后服务端响应该请求返回无状态协议
· HTTP协议初试版本中,每进行一次HTT通信就要断开一次TCP连接
· HTTP/1.1相处了持久连接(HTTP keep-alive )方法
· 管线化是基于持久连接的
· 不用等待响应亦可直接发送下一个请求
· 为识别之前登陆的信息,HTTP协议没有该功能,所以就引入Cookie技术
· 客户端: Cookie
· 服务端: Session
HTTP请求和响应报文
请求报文和响应报文
· 主要不同在于报文首部分别是请求行和状态行
· 请求行:包含用于请求的方法,请求URI和HTTP版本
· 状态行:包含表明响应结果的状态码,原因短语和HTP版本
· 首部字段:包含表示请求和响应的各种条件和属性的各类首部
HTTP请求方法
(1).GET:获取资源
(2).POST:传输实体主体
(3).PUT:传输文件
(4).HEAD:获得报文首部
(5). DELETE:删除文件
(6). OPTIONS:询问支持的方法
(7). TRACE:追踪路径
(8). CONNECT:要求用隧道协议连接代理
响应报文
· 响应报文是构成
· 协议版本
· 状态码
· 说明
· 可选响应首部字段
· 实体主体
HTTP状态码读解
· 最需要关注的是4XX和5XX
· 因为在Web开发和调试过程中,不可避免会出现Bug返回码可以帮助快速定位到出错点。
· 例如
· 经常会出现的“404 Not Found”错误,表明了服务器上无法找到请求的资源,而服务器本身是正常工作的。
· “501 Internal Server Error”表明务器端在执行请求时发生了错误,此时服务器并没有正常工作。
企业级应用-安全-HTTP和HTTPS
· HTTPS ( HTTP Secure ),其实是加上加密+认证+完整性保护的HTTP
· 使用HTTPS最普遍的场景是支付系统,因为在这种场景下使用HTTP会导致支付卡号以及密码被盗取,采用 http HTTPS则能有效的避免这点。
· HTTPS并非是应用层的一种新协议,只是HTT通信接口部分用SSL( Secure Socket Layer)和TLS( Transport Layer Security)协议代替
· HTTPS其实是HTTP先和SSL通信,再由SST和TCP通信。SSL是独立于HTTP的协议,其他运行在应用层的SMTP和Telnet等协议均可配合SSL协议使用。
HTTP和HTTPS
企业级应用并发HTTP的瓶颈产生原因
· 一条连接上只可发送一个请求
· 请求只能从客户端开始。客户端不可以接收除响应以外的指令
· 请求/响应首部未经压缩就发送。首部信息越多延迟越大
· 发送冗长的首部。每次互相发送相同的首部造成的浪费较多
· 可任意选择数据压缩格式。非强制压缩发送
WEB开发
· 基本概念
· 客户端服务器
· 协议
· 请求,处理,响应
· 静态页面
· 动态页面
· 前端,后端
JAVA的WEB处理方式
· WEB服务器
· nginx
· apache
· iis
· tomcat容器
· servlet容器
· 后台组件
· javabean
· 应用框架
· spring全家桶
· 核心思想:组件+容器