zoukankan      html  css  js  c++  java
  • [Bounty]熟悉HTTP协议

    1HTTP简介

    2http工作原理

    3 HTTP请求报文

    3.1 请求行信息

    request method请求方法。在HTML文档中书写get和post,大小写都可以,但在HTTP协议中的GET和POST只能是大写形式。

    3.2 协议版本

    http1.1和http1.0区别

    1. 在HTTP1.0协议中,客户端与网络服务器建立连接后,只能获得一个网络资源。
    2. HTTP1.1 协议,允许客户端与网络服务器建立连接后,在一个连接上获取多个网络资源(常用)。

    请求头信息

    每个头域由一个域名,冒号(:)和域值三部分组成。++域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格符或者制表符++。

    4.1 status code

    • 203 非授权信息。请求成功。但返回的meta信息不再原始的服务器,而是一个副本。
    • 305 使用代理。所请求的资源必须通过代理访问
    • 401 请求要求用户的身份认证
    • 407 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
    • 410 客户端请求的资源已经不存在。不同于404,网站设计人员可通过301代码指定资源的新位置。
    • 502 作为网关或者代理的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应。
    • 504 充当网关或代理的服务器,未及时从远端服务器获取请求
    • 505 服务器不支持请求的HTTP协议的版本,无法完成处理

    Vary:指示不可缓存的请求头列表
    例如 vary:Accept-Encoding

    5.浏览器缓存

    浏览器缓存:包括页面HTML缓存和图片js,css等资源的缓存。

    缓存的优点:

    1. 服务器响应更快
    2. 减少网络贷款消耗

    缓存工作原理

    页面缓存状态是由http header决定的,一个浏览器请求信息,一个是服务器响应信息。主要包括Pragma:no-cache、Cache-Control、Expires、Last-Modified、If-Modified-Since。其中Pragma:no-cache由HTTP/1.0规定,Cache-Control由HTTP/1.1规定。

  • 相关阅读:
    C++中四大强制类型转换!
    队列(queue)的实现
    栈(stack)的实现
    单向链表
    十种排序算法详解及C++实现
    extern “C”
    C语言内存分配及各种数据存储位置
    Python中的classmethod与staticmethod
    关于ORM,以及Python中SQLAlchemy的sessionmaker,scoped_session
    Python中的SQLAlchemy
  • 原文地址:https://www.cnblogs.com/NBeveryday/p/HTTP.html
Copyright © 2011-2022 走看看