zoukankan      html  css  js  c++  java
  • 开发人员应该对IIS理论层的知识了解的多一些~第一讲 什么是Http?

    回到目录

    定义

    百度百科定义:超文本传输协议 (HTTP-Hypertext transfer protocol) 是分布式,协作式,超媒体系统应用之间的通信协议。是万维网(world wide web)交换信息的基础。它允许将超文本标记语言 (HTML) 文档从 Web 服务器传送到 Web 浏览器。HTML 是一种用于创建文档的标记语言,这些文档包含到相关信息的链接。您可以单击一个链接来访问其它文档、图像或多媒体对象,并获得关于链接项的附加信息。

    OSI层的位置,它位于传输层

    HTTP工作在TCP/IP协议体系中的TCP协议上。客户机和服务器必须都支持 HTTP,才能在万维网上发送和接收 HTML 文档并进行交互。

    以下是OSI七层模型
    第七层:应用层 数据 用户接口,提供用户程序“接口”。
    第六层:表示层 数据 数据的表现形式,特定功能的实现,如数据加密。
    第五层:会话层 数据 允许不同机器上的用户之间建立会话关系,如WINDOWS
    第四层:传输层 段 实现网络不同主机上用户进程之间的数据通信,可靠
    与不可靠的传输,传输层的错误检测,流量控制等。
    第三层:网络层 包 提供逻辑地址(IP)、选路,数据从源端到目的端的
    传输
    第二层:数据链路层 帧 将上层数据封装成帧,用MAC地址访问媒介,错误检测
    与修正。
    第一层:物理层 比特流 设备之间比特流的传输,物理接口,电气特性等。

    特点

    HTTP协议的主要特点可概括如下:
    1、支持客户/服务器模式。
    2、 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
    3、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
    4、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
    5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。

    请求信息

    发出的请求信息包括以下几个: 
    ●请求行,例如GET /images/logo.gif HTTP/1.1,表示从/images目录下请求logo.gif这个文件。 
    ●(请求)头,例如Accept-Language: en 
    ●空行 
    ●可选的消息体 请求行和标题必须以<CR><LF>作为结尾(也就是,回车然后换行)。空行内必须只有<CR><LF>而无其他空格。在HTTP/1.1协议中,所有的请求头,除post外,都是可选的。

    请求方法

    HTTP/1.1协议中共定义了八种方法(有时也叫“动作”)来表明Request-URI指定的资源的不同操作方式:
    OPTIONS 返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送'*'的请求来测试服务器的功能性。 
    HEAD 向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。 
    GET 向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中,例如在web app.中。其中一个原因是GET可能会被网络蜘蛛等随意访问。 
    POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 
    PUT 向指定资源位置上传其最新内容。 
    DELETE 请求服务器删除Request-URI所标识的资源。 
    TRACE 回显服务器收到的请求,主要用于测试或诊断。 
    CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。 
    方法名称是区分大小写的。当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Method Not Allowed);当服务器不认识或者不支持对应的请求方法的时候,应当返回状态码501(Not Implemented)。 
    HTTP服务器至少应该实现GET和HEAD方法,其他方法都是可选的。当然,所有的方法支持的实现都应当符合下述的方法各自的语义定义。此外,除了上述方法,特定的HTTP服务器还能够扩展自定义的方法。
     
    感谢您的阅读!

    回到目录

  • 相关阅读:
    LeetCode 121. Best Time to Buy and Sell Stock
    LeetCode 221. Maximal Square
    LeetCode 152. Maximum Product Subarray
    LeetCode 53. Maximum Subarray
    LeetCode 91. Decode Ways
    LeetCode 64. Minimum Path Sum
    LeetCode 264. Ugly Number II
    LeetCode 263. Ugly Number
    LeetCode 50. Pow(x, n)
    LeetCode 279. Perfect Squares
  • 原文地址:https://www.cnblogs.com/lori/p/2868161.html
Copyright © 2011-2022 走看看