http|青训营

64 阅读3分钟

http(超文本传输协议)是从地址栏中的字符串最终呈现给我们网页。流程分析:现在地址栏里输入字符串→处理输入信息→发起请求→读取响应→渲染→页面加载完成。他是应用层的协议,基于传输层tcp,udp做的协议。他可以承载html,css等。 他的请求过程分为请求与响应,简单可扩展,无状态。他的发展历程:http0.9单行协议1.请求 get/mypage·html2.响应只有html文档,http/1.0构建可扩展性:增加了header,有了状态码,支持多种文档类型,http/1.1标准化协议:链接复用,缓存,内容协商,http/2更优异的表现:二进制协议,压缩header,服务器推送,http/3草案。协议分析~报文:get请求一个指定资源的表示形式,使用get的请求应该只被用于获取数据,post用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用,put用请求有效载荷替换目标资源的所有当前表示,delete删除指定的资源,head请求一个与get请求的响应相同的响应,但没有响应体,connect建立一个到由目标资源标识的服务器的隧道,options用于描述目标资源的通信选项,trace沿着目标资源的路径执行一个消息环回测试,patch用于对资源应用部分修改。method,safe:不会修改服务器的数据的方法,get head option,idempotent:同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的所有safe的方法都是idempotent的get head option delete。状态码,用3位表示,1xx指示信息,表示请求已接收,继续处理,2xx,成功,表示请求已被成功接收,理解,接受,3xx,重定向,完完成请求必须进行更进一步的操作,4xx客户端错误,请求有语法错误或请求无法实现,5xx,服务器端错误,服务器未能实现合法的请求,200ok客户端请求成功,301资源网页等,被永久转移到其他url,302临时跳转,401unauthorized请求未经授权,404请求资源不存在,可能是输入了错误的url,500服务器内部发生了不可预期的错误,504gateway timeout,网关或者代理的服务器无法在规定的时间内获得想要的响应。 restful apl:一种api设计风格1.每一个upi代表一种资源,2.客户端和服务器之间,传递这种资源的某种表现层,3.客户端通过http method,对服务器端资源进行操作,实现表现层状态化。 常用的请求头:accept接受类型,表示浏览器支持mime类型,content~type客服端发送出去实体内容的类型,cache control指定请求和响应遵循的缓存机制,ifmodifiedscince 对应服务端的last modified用来匹配看文件是否变动,只能精确到1s之内,expires缓存控制,在这个时间内不会请求,直接使用缓存等