美文网首页
HTTP协议

HTTP协议

作者: royluck | 来源:发表于2019-05-03 23:30 被阅读0次
HTTP协议:将超文本标记语言(HTML)文档从Web服务器传送到浏览器。
HTTP协议是无状态的。
目前我们使用的HTTP协议是:HTTP/1.1版本。
工作原理:浏览器发送http请求,服务器接收到http请求,返回http相应,浏览器接收到http详情,解析超文本。

扩展:TCP/IP协议

HTTP协议报文的结构:

HTTP请求报文:

  • 起始行(method方法、URI、协议版本)
  • 首部
  • 主体

HTTP响应报文:

  • 响应行(状态码、状态码消息、协议版本)
  • 首部
  • 主体
HTTP协议请求方法:

GET、POST、HEAD、PUT、DELETE
HEAD:类似于GET请求,只不过返回的相应中没有具体的内容,用于获取报头;
PUT:从客户端向服务器传送的数据取代指定文档的内容;
DELETE:请求服务器删除指定的页面;

URL的组成:

协议+域名(IP地址)+端口(默认80)+路径+参数+锚

状态码:

1XX、2XX、3XX、4XX、5XX
301/302重定向,请求的URL已移走。response中应该包含一个Location URL,说明资源所处的位置。
304:未修改,客户的缓存资源是最新的,需要客户端使用缓存。
401:禁止访问。
501:服务器遇到一个错误,使其无法对请求提供服务。

头部header:

Cache(缓存)、Cookies、Accept、Accept-Encoding、Accept-Language、User-Agent、Refer、Connection、HOST

缓存:浏览器的缓存、服务器端的缓存、代理服务器的缓存、ASP.NET的缓存、对象缓存、数据库缓存等等
HTTP中具有缓存的是浏览器缓存和代理服务器缓存。
既然HTTP是无状态的、那就让服务器和浏览器共同维护一个状态,这就是会话机制。
会话机制:

浏览器发起第一次请求 --> 服务器创建会话,并返回会话id(JESSIONID)->浏览器接收响应并设置cookie->二次会话(带上会话id)
请求的header带>> cookie:值
响应的header带>> set-cookite:值;

Cookie的属性

Expires的值是一个时间,代表过期时间,如果不指定Expires time,表示关闭浏览器/页面的时候,此Cookie就应该被浏览器删除了。

相关文章

网友评论

      本文标题:HTTP协议

      本文链接:https://www.haomeiwen.com/subject/zhpznqtx.html