HTTP的概念

HTTP : Hypertext Transfer Protocol 超文本传输协议

因特网上有数千种不同的数据类型,HTTP仔细地给每种要通过Web传输的对象都打上了名为MIME类型的数据格式标签。

MIME类型 是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间由一道 / 来分割。

  • 例如:HTML文档: text / html
  • ASCII文档: text / plain
  • JPEG图片: image / jpeg
  • GIF图片: image / gif
  • 常见的MIME类型有数百个,实验性或用途有限的则更多。

URI: Uniform Resource Identifier 统一资源标识符,给定URI,HTTP就可以解析出对象,主要包括三个部分:

  • 1.方案 scheme 通常是HTTP协议
  • 2.因特网地址
  • 3.Web服务器上的某个资源

现在几乎所有的URI都是URL。

常见的HTTP方法:

  • GET:从服务器向客户端返送命名资源
  • PUT:将来自客户端数据存储到一个命名的服务器资源中
  • DELETE:从服务器中删除命名资源
  • POST:将客户端数据发送到一个服务器网关应用程序
  • HEAD:仅发送命名资源响应中的HTTP首部

常见HTTP状态码:

  • 200:OK 成功
  • 302:Redirect 重定向
  • 404:Not Found 访问资源不存在

HTTP报文:

  • 1.起始行
  • 2.首部字段
  • 3.主体

Web客户端 ---- 请求报文 ---- Web服务端

Web客户端 ---- 响应报文 ---- Web服务端

TCP : Transmission Control Protocol 传输控制协议

IP : Internet Protocol 网际协议

TCP提供了:无差错的数据传输,按序传输,数据总是会按照发送顺序到达未分段的数据流(可以在任意时刻以任意尺寸将数据发出去)。因特网自身就是通过TCP / IP 的,TCP / IP是全世界的计算机和网络设备常用的层次化交换网络协议集。TCP / IP 隐藏了各种网络和硬件的特点及弱点,使各种类型的计算机和网络都能进行可靠地通信。

HTTP协议位于TCP上层,TCP则位于IP的上层。

  • HTTP ---- 应用层
  • TCP ---- 传输层
  • IP ---- 网络层
  • 网络所有的链路接口 ---- 数据链路层
  • 物理网络硬件 ---- 物理层

隧道的概念

隧道:是建立起来以后,就会在两条连接之间对原始数据进行盲转发的HTTP应用程序。HTTP隧道通常用来在一条或多条HTTP连接上转发非HTTP数据,转发时不会窥探数据。一种常见用途是:通过HTTP连接承载加密的安全套接子层SSL(Secure Sockets Layer)流量。隧道可以在非HTTP网络上转发数据,显示HTTP / SSL 隧道。

Agent代理:代表用户发起HTTP请求的客户端程序,所有发布Web请求的应用程序都是HTTP Agent代理。如:浏览器。

图灵图书 -- HTTP权威指南

豆瓣读书 -- HTTP权威指南

《HTTP权威指南》– 1.HTTP概述的更多相关文章

  1. HTTP权威指南笔记-1.概述

    1.1 通讯 Web内容是存储在服务器上的,Web服务所使用的是HTTP协议,所以经常称为HTTP服务器.通讯过程为客户端(正常我们所使用的)发出请求,服务端根据客户端的HTTP请求响应相应数据,这就 ...

  2. HTTP 权威指南 详解 ( 一、概述 )

    HTTP 权威指南 详解 ( 一.概述 ) 最近在解读 <http权威指南> 这本书.之前对于http 的理解仅限于 知道我需要向服务端发送一个 get or post 请求,然后等待服务 ...

  3. 【HTTP权威指南】第1 章 HTTP 概述

    1.1 HTTP--因特网的多媒体信使 ................................................................................ ...

  4. Http权威指南(概述篇总结)

    之前的<锋利的jQuery>后面陆续翻完了,实在觉得没什么值得记录的,也就没继续写了,然后看见书架上有 本去年买的<Http权威指南>,其实做web编程的,对于Http协议还是 ...

  5. ARM Cortex-M0权威指南高清中文版pdf免费分享下载

    版 次:1 页 数:433 字 数:655000 印刷时间:2013-8-1 开 本:16开 纸 张:胶版纸 印 次:1 包 装:平装 丛书名:清华开发者书库 国际标准书号ISBN:978730233 ...

  6. FORTRAN程序设计权威指南

    <FORTRAN程序设计权威指南> 基本信息 作者: 白海波    出版社:机械工业出版社 ISBN:9787111421146 上架时间:2013-7-23 出版日期:2013 年7月 ...

  7. Visual C++2010开发权威指南 中文高清PDF - VC.NET

    第一部分  Visual C++ 2010开发与新特性第1章  Visual C++ 2010开发环境简介 11.1  Visual C++ 2010简介 11.2  Visual C++ 2010下 ...

  8. 《jQuery权威指南》学习笔记之第2章 jQuery选择器

    2.1 jQuery选择器概述 2.1.1 什么使选择器 2.1.2 选择器的优势: 代码更简单,完善的检测机制  1.代码更简单   示例2-1     使用javascript实现隔行变色 < ...

  9. Hadoop权威指南:压缩

    Hadoop权威指南:压缩 [TOC] 文件压缩的两个好处: 减少储存文件所需要的磁盘空间 加速数据在网络和磁盘上的传输 压缩格式总结: 压缩格式 工具 算法 文件扩展名 是否可切分 DEFLATE ...

  10. 《http权威指南》读书笔记18

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

随机推荐

  1. Logstash: 启动监控及集中管理-总结

    Logstash: 启动监控 配置文件:logstash.yml xpack.monitoring.enabled: true xpack.monitoring.elasticsearch.usern ...

  2. Ubuntu20.04和Docker环境下安装Redash中文版

    创建Ubunt20.04虚拟机,请参考:https://www.linuxidc.com/Linux/2020-03/162547.htm 一.安装基础环境: # 1.更换APT国内源 sudo se ...

  3. Ubuntu20.04本地安装Redash中文版

    一.安装基础环境: # 1.更换APT国内源 sudo sed -i s@/cn.archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources ...

  4. [CG从零开始] 3. 安装 pyassimp 库加载模型文件

    assimp 是一个开源的模型加载库,支持非常多的格式,还有许多语言的 binding,这里我们选用 assimp 的 python 的 binding 来加载模型文件.不过社区主要是在维护 assi ...

  5. Java程序设计(一)作业

    题目1:输入圆的半径,计算圆的面积,然后把面积的值输出.(注意所使用的数据类型). package test; import java.util.Scanner; public class test1 ...

  6. 监控CPU状况并发送邮件shell脚本

    #!/bin/bash #监控CPU状况并发送邮件 DATE=$(date +%y%m%d) TEMP=$(mktemp tmp.XXX.txt) cat /proc/cpuinfo >$TEM ...

  7. SpringMVC入手项目注解版

    SpringMVC入手项目注解版 1.创建Maven项目在pom.xml文件引入相关的依赖 <dependencies> <dependency> <groupId> ...

  8. Linux 下搭建 Hadoop 环境

    Linux 下搭建 Hadoop 环境 作者:Grey 原文地址: 博客园:Linux 下搭建 Hadoop 环境 CSDN:Linux 下搭建 Hadoop 环境 环境要求 操作系统:CentOS ...

  9. Vue学习之--------计算属性(2022/7/9)

    文章目录 1.计算属性 1.1 计算属性实现 1.1.1 基础知识 1.1.2 代码实例 1.1.3 测试效果 1.2 计算属性简写 1.2.1 简写代码 1.3 使用插值语法实现 1.3.1 代码实 ...

  10. c语言求输入的任一整数的各位数之和

    c语言求解代码: # include<stdio.h> int main(void){ int a,i=0,sum=0; scanf("%d",&a); if( ...