zoukankan      html  css  js  c++  java
  • 关于HTTP?

    我们知道从客户端到服务器的通信,是使用HTTP协议,又称超文本传输协议作为规范,完成从客户端到服务一系列运作流程的。

    HTTP的诞生

      1989年,互联网还只属于少数人在这个互联网的黎明时期,HTTP诞生了,当时的欧洲核子研究组织的蒂姆·贝纳斯·李(TimBemers—Lee)提出一种能让远隔两地的研究者们共享知识的设想。

      最初设想的理念是:借助多文档之间互相关联形成的超文本(HyperText).连成可互相参阅的WWW(World Wide Web,万维网)。

      当时已提出3项WWW构建技术,分别是:

    • 把SGML(Standard Generalized Markup Language,标准通用标记语言)作为页面的文本标记语言的HTML(HyperText Markup Language,超文本标记语言)。
    • 作为文档传递协议的HTTP。
    • 指定文档所在地址的URL(Uniform Resource Locator,统一资源定位符)。

      

    HTTP的发展

      HTTP/0.9

    •   HTTP于1990年问世,那时的http并没有作为正式的标准被建立。现在的http其实含有http1.0之前的版本的意思,因此被称为HTTP、0.9。

      HTTP/1.0

    •   HTTP正式作为标准被公布在1996年5月,版本被命名为HTTP/1.0。

      HTTP/1.1

    •   1997年1月公布的HTTP/1.1是目前主流的HTTP协议版本。

      HTTP协议

      HTTP协议用于客户端和服务器之间的通信

    1. 请求访问文本或者图像等资源的一端成为客户端,而提供资源响应的一端称之为服务端。

      通过请求和响应的交换达成通信

    1. HTTP协议规定:请求从客户端发出,最后服务器响应请求并返回。换句话说,肯定是先从客户端开始建立通信,服务器在没有接收到请求之前不会发送响应。
    2. 请求报文由请求方法,请求URL,协议版本。可选的请求首部字段和内容实体构成。
    3. 响应报文基本由协议版本,状态码(表示请求成功或失败的数字代码),用以解释状态码的原因短语,可选的响应首部字段以及实体主体构成。

      HTTP是不保存状态的协议。

    1. HTTP是一种不保存状态,即无状态协议。
    2. 协议本身不保留之前一切的请求或响应报文的信息,是为了更快地处理大量事务,确保协议的可伸缩性,而特意把HTTP协议设计成如此简单。(但随着web的发展无法满足现在的需求)。
    3. 由于HTTP的无协议状态,从而引入了Cookie技术,可以管理HTTP的状态。

      请求URL定位资源。

    1. HTTP协议使用URL定位互联网上的资源,正因为URL的特定功能,在互联网上任意位置的资源都能访问到。
    2. 如果不是访问特定资源而是对服务器本身发起请求,可以使用一个*来代替请求URL。

     HTTP通信的方式?

      GET:获取资源

      GET方法用来请求范文已被URL识别的资源。

      POST:传输实体主体

      POST主要目的并不是获取响应的主体内容。

      PUT:传输文件

      PUT方法用来传输文件,要求在请求报文的主体中包含文件内容,然后保存在请求URL指定的位置,鉴于HTTP/1.1的put方法自身不带验证机制,任何人都可以上传文件,存在安全性问题,因此一般Web网站不使用该方法。

      HEAD:获取报文首部

      HEAD方法和GET方法一样,只是不返回报文主体部分,用于确认URL的有效性及资源更新的日期时间等。

      DELETE:删除文件

      DELETE方法用来删除文件,是按请求URL删除指定的资源。但自身不带验证机制,故一般Web网站不使用。

      OPTIONS:询问支持的方法

      OPTIONS方法用来查询针对请求URL指定的资源支持方法。

      TRACE:追踪路径

      TRACE方法是让Web服务器将之前的请求通信环回给客户端的方法,

      客户端通过TRACE可以查询发出去的请求是怎么样被加工修改或篡改的,因为请求想要连接目标服务器可能会通过代理中转,TRACE方法就是用来确认连接过程中发生的一系列操作。

      CONNECT:要求用隧道协议连接代理。

      

      

    集思广益,仅供学习,侵权即删!!
  • 相关阅读:
    Object.defineProperty方法 使用
    Linux常用命令--网终设置
    Linux常用命令--文件操作、权限设置
    Linux常用命令
    vue之双绑实现
    【Objective-C学习记录】第二十九天
    【Objective-C学习记录】第二十八天
    【Objective-C学习记录】第二十四天
    【Objective-C学习记录】第二十三天
    【Objective-C学习记录】第二十二天
  • 原文地址:https://www.cnblogs.com/hudunyu/p/11397109.html
Copyright © 2011-2022 走看看