HTTP协议基础

HTTP: HyperText Transfer Protocol(超文本传输协议)chrome

HTTP是应用层协议,基于HTTP协议的如HTTPs协议。特色有明文传输,无状态。浏览器

1、HTTP协议的组成缓存

请求:头部和正文。服务器

响应:头部和正文。cookie

2、请求头相关url

 

  1. User-Agent: 客户端信息,浏览器,操做系统。
  2. 协议和版本号。
  3. 请求的地址。
  4. Accept-Encoding: 请求头压缩方式,浏览器主动服务器告诉能够接受这两种压缩方式,我能够解压缩。
  5. Connection: Keep-Alive 长链接,在未过时以内,不用再三次握手链接。
  6. Cookie: 浏览器发送给服务器的内容。
  7. x-request-with: XMLHttpRequest 表示使用Ajax方式发送的请求。
  8. Accept:告诉服务器浏览器能够接受的响应类型。
  9. Referer: url 哪一个页面发送的请求。能够知道来访页面,若是直接键入地址访问Referer是空。
  10. Content-length 正文长度(数据不大)。
  11. 方法
    •   GET   向指定资源获取数据,长度限制2000byte,参数以?A=1&b=2的形式传输
    •   POST 向指定资源提交数据,无长度限制,数据在请求正文中传输
    •   PUT  向指定资源更新
    •   DELETE 删除标识的指定资源
    •   HEAD 向服务器发出指定资源的请求,相似GET,但服务器不传回全部资源
    •   TRACE
    •   OPTIONS

  ...spa

3、响应头相关操作系统

  • Server: 服务器信息,服务器名/版本号。
  • Content-Type: 返回数据类型。
  • Transfer-Encoding:chunked 分块传输(数据较大时)。
  • X-UA-Compatible:IE=Edge,chrome=1 支持兼容模式。
  • cache-control:缓存方式。默认是private,即第一次访问全新加载,以后使用缓存;no-cache意为彻底不用缓存;max-age能够设置一个时间,时间段内都使用缓存,过时从新加载。还有设置访问次数的,更多取值待百度。
  • Expires:过时时间 过时就从新加载,不过时就用缓存。
  • Last-Modified/If-Modified-Since:记录缓存文件最后修改状况,以判断是否要从新向服务器请求。
  • Etag/If-None-Match: 为了更精确记录缓存文件修改状况,再也不以时间为参照,而给文件标识“版本号”。 
  • set-cookie: 为客户端设置cookie。

(2)常见状态码blog

  • 1XX:指示信息,请求已接收,继续处理
  • 2XX:成功,请求已经成功
  • 3XX:重定向,跳转到其余位置
  • 4XX:客户端错误
  • 5XX:服务器端错误

——资源

  • 200:ok
  • 206:断点续传或者将一个大文档分解为多个下载段同时下载
  • 301:永久重定向
  • 302:暂时重定向
  • 304:内容未修改。服务器端判断内容没有变化,让浏览器使用本地缓存。
  • 400:客户端请求有语法错误
  • 401:请求未受权
  • 403:服务器接收请求但拒绝服务,没有权限
  • 404:资源没有找到,url错了
  • 500:服务区不可预期错误
  • 503:服务器当前不能处理请求,过段时间可能恢复

参考:

慕课网Scott的Node.js基础

蜗牛学院《HTTP协议详解

HTTP请求中浏览器的缓存机制

相关文章
相关标签/搜索