1,http协议
1.1,概述
用来进行超文本数据传输的一种规定,规定了数据以为何种方式传递
所有www开头的网站都遵守该协议
该协议是为了使得浏览器和服务器之间 请求-响应传递的 超文本信息更加快捷高效。
HTTP协议的特点
基于请求/响应模型。请求和响应必须成对,先有请求后有响应。
HTTP协议默认的端口:80
以下写法效果相同:
编辑
HTTPS协议:基于HTTP协议,通过SSL或TLS提供加密处理数据,验证对方身份以及数据完整性保护。可以大体认为HTTPS比HTTP安全性高。SSL证书需要付费。
1.2,请求协议
1.2.1,请求行
HTTP请求协议,是浏览器把信息发送给服务器的方式。
HTTP响应协议,是服务器把信息返回给浏览器的方式。
HTTP请求包括:请求行,请求头,请求体
HTTP响应包括:响应行,响应头,响应体
请求行,用于存放极为少量的信息
编辑请求行长度不要超过4KB
浏览器(习惯了谷歌浏览器)查看具体信息
编辑
编辑编辑
编辑
post方式传递表单数据是用请求体
get方法传递表单数据是用请求行
1.2.2,请求头
请求头,用于存放预定义好的key/value少量信息
编辑
编辑
编辑
编辑
编辑
编辑
编辑
编辑
服务器到底能发哪些类型:conf/web.xml
编辑
编辑
只有post请求才有
编辑
请求体的相关属性只有在提交方式为post方式时,才有请求体,才有请求体的对应属性。
编辑
编辑
编辑
什么是浏览器缓存,作用:
浏览器缓存:为了加速浏览器和服务器的信息交互,增强用户的体验,将已访问的服务器资源临时保存在浏览器硬盘上。
编辑
缓存工作机制:
- 看缓存:服务器发现浏览器的资源是最新的,通知浏览器用缓存即可。服务器没有传递资源二进制数据
- 用新品:服务器发现浏览器的资源是陈旧的。会将最新资源发给浏览器进行缓存。
如何发现资源的新旧:看if-modified-since,该请求头会把缓存的年月日、时分秒发给服务器,方便服务器进行对比
编辑
1.2.3,请求体
编辑
编辑
get请求没有请求体的。
扩展:我这边拓展一点,表单上的知识
表单提交的mime类型:enctype
<h1>post-URL编码-正规表单数据提交方式</h1> <!-- application/x-www-form-urlencoded 表单url编码数据 特点:1、提交的数据都是 k=v&k2=v2 2、中文及特殊符号会进行URL编码,保证数据传递中不会因为乱码而丢失。 %16进制位 --> <form method="post" enctype="application/x-www-form-urlencoded"> 用户名:<input type="text" name="uname" value="张三"/> 密码:<input type="password" name="pwd" value="123456"/> 附件框:<input type="file" name="fj"/> <input type="submit"/> </form> <h1>post-多部件-用于文件上传</h1> <!--适用于文件上传,唯一一种可以将文件二进制数据传递给服务器的表单提交方式 --> <form method="post" enctype="multipart/form-data"> 用户名:<input type="text" name="uname" value="张三"/> 密码:<input type="password" name="pwd" value="123456"/> 附件框:<input type="file" name="fj"/> <input type="submit"/> </form> <h1>post-纯文本-一般用于不用URL编码,不进行文件上传</h1> <!--提交的是原本的数据,可能存在中文乱码丢失问题。传递的数据字节长度是最短的 --> <form method="post" enctype="text/plain"> 用户名:<input type="text" name="uname" value="张三"/> 密码:<input type="password" name="pwd" value="123456"/> 附件框:<input type="file" name="fj"/> <input type="submit"/> </form>
1.3,响应协议
1.3.1,响应行
状态码:重要
1XX:请求已经传递,但响应未完成。
2XX:请求成功。
200
3XX:请求响应完成,但请求并未完全完成。
302:请求重定向(请求重新定一个其他路径,重新发起一次请求)
例如:登录成功,跳转到首页
304:请求资源没改变,查看缓存(看缓存)
4XX:客户端问题。
400:客户端请求方式不对
404:请求路径不对(请求的资源不存在)
405:请求参数格式不对
5XX:服务器端问题
500:服务器内部错误/异常。
编辑
1.3.2,响应头
编辑
缓存方面:(重要)
编辑
缓存机制:为了提升用户体验,加强浏览器和服务器之间的交互效率。
1.3.3,响应体
编辑
文件下载:响应体
补充:各位在网站上所看到的所有资源,都是通过响应体下载到浏览器本地,在浏览器本地进行的展示。
























































