http是超文本传输协议,是从万维网服务器传输超文本到本地浏览器时候,遵从的协议
http的步骤:当浏览器发送了一个请求到服务器时,服务器接收到请求,然后返回相应的响应体,状态行,浏览器接收到后在显示到页面上的过程
http常用的请求方式 有 get 和 post请求
请求头:
Accept-Language 表示语言
User-Agent:浏览器的一些信息
Host: localhost:8888
====>访问地址Accept-Encoding: gzip, deflate
–>>支持的压缩格式Content-Length: 7
—>post请求 请求体长度
响应头:
1.状态码
200: 服务器很好的处理了客户端的请求,一切 OK
302: 重定向(发生两次请求)
例如经常去一家饭店吃饭,突然某一天饭店搬迁,只剩下一个门,门上写着新店在左边100米处,然后你根据纸条找到新饭店; 302就相当于门上的条,当你访问一个网站时他给你返回302你需要重新访问新的网址; 这里面发生了2次请求
304:通常表示资源文件在服务器没有更改,而浏览器端又有缓存,这时候回送 304 状体码通知浏览器拿本地的缓存显示。
404:表示客户端访问的资源路径有问题或者资源问题不存在。
500:表示服务器出现了 异常.
2.server:服务相关的信息
3.content-type:响应的正文类型 (图片?字符串?)
4.content-charset 编码
5.contnet-language
6.cache-control:expries
https协议
http是明文传输的,https有加密传输,更安全
http和https常用的端口也不一致
https协议需要申请一些安全的证书,需要花费费用
https在请求服务器资源的时候,要求建立安全的连接,要等到客户端和 服务端都同意之后,再加密传输,在到达客户端之后,在加以解密解析使用
浏览器的缓存机制
强缓存:如果浏览器请求资源命中强缓存,就不用和服务器交互了,就会直接返回缓存的文件
cache-control:他是控制哪些资源可以缓存
1.public 客户端和代理服务器都可以缓存
2.private 只有客户端能缓存
3.no-cache : 禁止强缓存
4.no-store : 所有的缓存都禁止
expire:看强缓存的日期是否过期,过期了就会走协商缓存
协商缓存:
将一个文件中的last-modified通过请求发送给服务器,服务器检查
浏览器第一次请求某个文件,会返回给一个last-modified给浏览器,接着第二次返回就返回一个if-modified-since,二者对比一下,看是否一致,如果一直就返回304,显示协商缓存(有磁盘缓存和硬盘缓存),浏览器直接使用