zoukankan      html  css  js  c++  java
  • HTTP协议 概述

    本文主要说明一些 Http 相关的基本概念和基本知识,主要针对像我一样的初学者,知识主要来自于《Http 权威指南》

    除了分享这些基本知识之外,笔者也是为将来找工作复习之用。(协议就是协议,它就在那里)



    问题

    Web 客户端与服务器是如何通信的?

    资源来自哪里?

    Web 事务是怎样工作的?

    Http 通信所使用的报文格式是怎样的?

    底层TCP 网络传输是怎样的?

    目录

    Http - 因特网的多媒体信使

    Web 客户端和服务器

    资源

    事务

    报文

    连接

    Web 的结构组件



    正文

    Http - 因特网的多媒体信使

    什么是http协议?它是干什么的?

    协议就是一群人或者一大群人(组织)商量的一种彼此都认可的交换信息的约定。

    http协议是一种应用层协议,它使用的是可靠的数据传输协议。使得应用程序开发人员专注于应用程序特有的技术细节。

    Web 客户端和服务器

    客户端发送Http 请求,服务器在Http 响应中回送所请求的数据。(Http 客户端和Http 服务器构成了万维网的基本组件)

    资源

    Web 服务器是Web 资源的宿主。

    资源分为静态资源(文件,图片,动画,电影等媒体资源)和动态资源(根据需要动态生成内容的软件程序)

    事务

    一个Http 事务由一条(从客户端发往服务器的)请求命令和一个(从服务器发往客户端的)响应结果组成。

    这种通信通过Http 报文的格式化数据块进行的。

    http 请求通过http 方法告诉服务器要执行什么操作(获取一个页面,一个网关程序,删除一个文件等)

    http 响应通过http 状态码告诉客户端请求是否成功,或者是否需要采取其他动作。

    报文

    Http 报文是由一行一行的简单字符串组成的。

    报文包括三部分组成:起始行,首部,主体

    请求报文的格式:

    <method>  <request-URL>  <version>
    <headers>
    //一行空行
    <entity-body>

     响应报文的格式:

    <version>  <status>  <reason-phase>
    <headers>
    //一行空行
    <entity-body>

     连接

    Http 只是应用层协议,底层交给了通用、可靠的因特网传输协议TCP/IP。

    在Http 客户端向服务器发送报文之前,需要用IP地址和端口号在客户端和服务器之间建立一条TCP/IP连接。

    Web 的结构组件

    代理

    位于客户端和服务器之间的Http 中间实体。

    是Web 安全、应用集成以及性能优化的重要组成模块。

    缓存

    一种特殊的Http 代理服务器,使常用页面的副本可以保存在离客户端更近的地方。

    网关

    是一种特殊的服务器,作为其他服务器的中间实体使用。通常用于将Http 流量转换成其他协议。

    网关接收请求时好像自己是资源的源端服务器一样。

    隧道

    隧道是建立起来之后,就会在两条链接之间对原始数据进行盲转发的Http 应用程序。

    常见用途是通过Http 连接承载加密的安全套接字层流量。

  • 相关阅读:
    HTML元素解释
    Java命名规范
    HDU 1058 Humble Numbers(DP,数)
    HDU 2845 Beans(DP,最大不连续和)
    HDU 2830 Matrix Swapping II (DP,最大全1矩阵)
    HDU 2870 Largest Submatrix(DP)
    HDU 1421 搬寝室(DP)
    HDU 2844 Coins (组合背包)
    HDU 2577 How to Type(模拟)
    HDU 2159 FATE(二维完全背包)
  • 原文地址:https://www.cnblogs.com/googny/p/4057722.html
Copyright © 2011-2022 走看看