本文主要说明一些 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 连接承载加密的安全套接字层流量。

HTTP协议 概述的更多相关文章

  1. javaweb学习总结十九(http协议概述以及http请求信息分析)

    一:http协议概述 1:http协议定义 2:使用telnet程序连接web服务器,获取资源 3:http协议:超文本传输协议,它是基于tcp/ip协议,就是建立在tcp/ip之上工作的, http ...

  2. 嵌入式linux的网络编程(1)--TCP/IP协议概述

    嵌入式linux的网络编程(1)--TCP/IP协议概述 1.OSI参考模型及TCP/IP参考模型 通信协议用于协调不同网络设备之间的信息交换,它们建立了设备之间互相识别的信息机制.大家一定都听说过著 ...

  3. 【HTTP 2】HTTP/2 协议概述(HTTP/2 Protocol Overview)

    前情提要 在上一篇文章<[HTTP 2.0] 简介(Introduction)>中,我们简单介绍了 HTTP 2. 在本篇文章中,我们将会了解到 HTTP 2 协议概述部分的内容. HTT ...

  4. JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用

    JAVA之旅(三十二)--JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用 GUI写到一半电脑系统挂了,也就算了,最多GUI还有一个提示框和实例, ...

  5. 【高速接口-RapidIO】1、RapidIO协议概述

    一.RapidIO背景介绍 RapidIO是由Motorola和Mercury等公司率先倡导的一种高性能. 低引脚数. 基于数据包交换的互连体系结构,是为满足和未来高性能嵌入式系统需求而设计的一种开放 ...

  6. 1.RapidIO协议概述

    转自https://www.cnblogs.com/liujinggang/p/9925859.html 一.RapidIO背景介绍 RapidIO是由Motorola和Mercury等公司率先倡导的 ...

  7. [编程] TCP协议概述

    TCP 协议概述 1.TCP提供一种面向连接的.可靠的字节流服务. 2.两个应用程序通过TCP连接交换8bit字节构成的字节流. 3.每个TCP首部都包含源端和目的端的端口号,用于寻找发端和收端应用进 ...

  8. 搞懂分布式技术4:ZAB协议概述与选主流程详解

    搞懂分布式技术4:ZAB协议概述与选主流程详解 ZAB协议 ZAB(Zookeeper Atomic Broadcast)协议是专门为zookeeper实现分布式协调功能而设计.zookeeper主要 ...

  9. tcp/ip详解 卷1 -- 协议概述

    第一章 概述 分层 TCP/IP 通常被认为是一个四层协议系统. 每一层负责不同的功能. 链路层, 也成为数据链路层或者网络接口层. 通常包括 操作系统中的设备驱动程序和计算机中对应的网络接口卡. 主 ...

  10. Javaweb学习笔记——(八)——————常见系统体系结构,Tomcat,以及web的内部外部应用,http协议概述

    ·软件系统体系结构: 1.常见软件系统体系结构B/S.C/S C/S 1.C/S结构即客户端/服务器(Client/Server),列如QQ: 2.需要编写服务器端程序,以及客户端程序,列如我们安装的 ...

随机推荐

  1. 3140:[HNOI2013]消毒 - BZOJ

    题目描述 Description 最近在生物实验室工作的小 T 遇到了大麻烦. 由于实验室最近升级的缘故,他的分格实验皿是一个长方体,其尺寸为 a*b*c,a.b.c均为正整数.为了实验的方便,它被划 ...

  2. PAT-乙级-1007. 素数对猜想 (20)

    1007. 素数对猜想 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 让我们定义 dn 为:dn = ...

  3. 团体程序设计天梯赛-练习集L1-016. 查验身份证

    L1-016. 查验身份证 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 一个合法的身份证号码由17位地区.日期编号和顺序编号 ...

  4. fiddler插件开发step by step 1

    Fiddler 是优秀的抓包工具,有着众多的优秀插件.Fiddler 软件是由C#语言开发的,运行在.net Framework 框架之上,所以我们也可以使用vs来开发自己的Fiddler插件,下面就 ...

  5. MVC 导出PDF

    http://www.simple-talk.com/dotnet/asp.net/asp.net-mvc-action-results-and-pdf-content/ http://www.sub ...

  6. POJ 2778 DNA sequence

    QAQ 做完禁忌 又做过文本生成器 这道题就是个水题啦 首先转移方程还是文本生成器的转移方程 但是注意到L很大,但是节点数很小 转移都是固定的,所以我们可以用AC自动机来构造转移矩阵 之后进行矩阵乘法 ...

  7. 图形学:图像围绕着某个点P(a,b)旋转------白话版

    前提:在研究图形时候,我们并没有规定图形的大小,所以任意图形多是支持的,这也另外说明了一点,图形转换和图形的大小没有关系. 如果图像围绕着某个点P(a,b)旋转,则先要将坐标系平移到该点,再进行旋转, ...

  8. nginx比较apache

    http://blog.csdn.net/hanghangaidoudou/article/details/8506963 话说nginx在大压力的环境中比apache的表现要好,于是下载了一个来折腾 ...

  9. web客户端通过ajaxfileupload方式上传文件

    fileUpload.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  10. Autodesk 2015全套密钥

    Below is a list for collecting all the Autodesk 2015 Product Keys:      [*]AutoCAD 2015 001G1      [ ...