背景

读懂HTTP很重要,参加过面试的小伙伴都很清楚,无论是技术面试面试题出得怎样,都有机会让你讲解一下HTTP,大部分都会问一下。

面试官:考考你网络协议的知识,TCP协议和UDP协议的区别,HTTP协议,HTTPS协议的底层原理是什么等一堆技术问题。

小达:。。。。我还不知道哎。

面试官:那你回去等通知吧

于是小达回家后,针对其中的HTTP进行一番研究。

历史体系

Http是一种网络协议,也是互联网上应用最为广泛的一种,http也叫超文本传输协议,所有的www文件都是遵循这个标准进行传输的。

HTTP的出现是为了提供一种发布和接收HTML页面的办法。

HTTP目录

HTTP简介

http协议是超文本传输协议,是用于从万维网服务器传输文本到本地浏览器的传送协议,是基于tcp/ip通信协议来传输数据的。

http原理,http协议是作用在客户端和服务器端上的,电脑上的浏览器是作为http客服端通过使用url向http服务器端(web服务器)发送所有的请求。

web服务器接收到由http客户端发送的请求后,向客户端发送响应信息,http默认的端口号为80端口(之间的通风口)。

http的特点:

http是无连接的,限制每次连接只处理一个发送的请求,服务器端处理完客户端发送的请求,并收到客户端的应答后,就立即断开连接,两种之间的传输不是持续性的,这样做可以节省传输的时间。

客服端和服务器端只要知道如何处理数据内容,两者之间就可以通过Http发送任何你想要的数据。

http协议是无状态的,无状态协议意味着处理事务是没有记忆能力的,如果后面还要处理前面的信息,就要重新发送请求,导致每次连接传送的数据不断增大。

HTTP消息结构

http是基于客户端和服务器端C/S的架构模型,是一个无状态的请求/响应协议,客户端通过连接服务器,向服务器发送一个或多个http的请求,服务器端通过接收客户端的请求并向客服端发送http响应数据。

注:url为统一资源标识符,是用来传输数据和建立连接的。

客户端发送一个HTTP请求到服务器的请求消息:

包含有:请求行,请求头部,空行,请求数据四种

(请求行,请求头部,请求数据)

服务器响应消息:

http响应消息包含:状态行,消息报头,空行,响应正文

HTTP请求方法

HTTP 响应头信息

HTTP 状态码

HTTP状态码:

200 - 请求成功

301 - 资源被永久转移到其它URL

404 - 请求的资源不存在

500 - 内部服务器错误

HTTP状态码分为5种类型:

1**	信息,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被成功接收并处理
3** 重定向,需要进一步的操作以完成请求
4** 客户端错误,请求包含语法错误或无法完成请求
5** 服务器错误,服务器在处理请求过程中发生了错误

HTTP content-type

Content-Type,内容类型

一般指网页中存在的Content-Type

用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件


请点赞!因为你的鼓励是我写作的最大动力!

吹逼交流群:711613774

【一起来烧脑】读懂HTTP知识体系的更多相关文章

  1. 【一起来烧脑】读懂Promise知识体系

    知识体系 Promise基础语法,如何处理错误,简单介绍异步函数 内容 错误处理的两种方式: reject('错误信息').then(null, message => {}) throw new ...

  2. 【一起来烧脑】读懂WebApp知识体系

    背景 很多小白知道什么是app,但是却不知道什么是webapp呢,webapp是指用HTML5编写的移动web应用 一个webapp可以在pc端,Android端,ios端进行运行 webapp开发的 ...

  3. 【一起来烧脑】读懂JQuery知识体系

    背景 在现在就业的过程中,会运用JQuery是你的加分项,那么什么是JQuery,嗯,jquery是JavaScript的函数库,是一种轻量级的JavaScript库,写得少,做的多,导致jQuery ...

  4. 【转】一篇文章读懂人力资源三支柱体系(COE・BP・SSC)

    通过人力资源转型,提升效率和效能   作者:Sharon Li,翰威特大中华区咨询总监. 杰克韦尔奇曾说过“人力资源负责人在任何企业中都应该是第二号人物”,但在中国,99%的企业都做不到.原因很简单, ...

  5. 一文读懂 Java 异常体系

    写程序的时候,编辑器会提示错误,关键字拼错了,语法不符合规则,不符合泛型:程序编译的时候,编译器会提示错误,检查是否符合 Java 的语法规范,没有通过编译器检查的程序就无法编译,也就无法运行.这些都 ...

  6. web前端知识体系总结

    1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...

  7. 一文读懂UGC:互联网上的生态秘密

    转载自近乎: UGC(User- Generated Content)用户原创生产内容,它是相对于PGC(Professionally-produced Content)专业生产内容的一种内容来源,简 ...

  8. 自己总结的web前端知识体系大全【欢迎补充】

    1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...

  9. web前端知识体系大全

    1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...

随机推荐

  1. 转:深入浅出Java垃圾回收机制

    原文链接:http://www.importnew.com/1993.html 对于Java开发人员来说,了解垃圾回收机制(GC)有哪些好处呢?首先可以满足作为一名软件工程师的求知欲,其次,深入了解G ...

  2. Spring主要用到两种设计模式

    Spring主要用到两种设计模式 1.工厂模式 Spring容器就是实例化和管理全部Bean的工厂. 工厂模式可以将Java对象的调用者从被调用者的实现逻辑中分离出来. 调用者只关心被调用者必须满足的 ...

  3. MongoDB 增删改查 Shell使用及操作

    下载链接:https://robomongo.org/download 安装步骤省略,下一步下一步... 图形界面,连接默认,取个名字就行. 连接成功,可以愉快的使用了,不用总是敲命令了,简洁方便,多 ...

  4. vue-element-admin 前端框架 使用感触

    感触: 不搜不知道,一搜吓一跳!经常百度很重要. 美国有gitgub:https://github.com/search?q=vue-element-admin 中国有码云:https://gitee ...

  5. typescript_类

    //类的定义 class Animal{ id:string;//默认访问修饰符为 public : 类本身.子类.类外部可访问 public name:string; // public : 类本身 ...

  6. 关于linux的档案随笔

    刚才在看鸟哥的linux的私房菜,然后看到的部分是关于linux的档案配置部分,之前就强调过,在linux中所有的一切都是以档案的形式存在的,不过不同的文件有一定的区别,linux中是有副档案这个说法 ...

  7. ARP欺骗之ettercap图形化界面

    ARP欺骗原理: 在每台主机中都有ARP缓存表,缓存表中记录了IP地址与MAC地址的对应关系,而局域网数据传输依靠的是MAC地址(网络设备之间互相通信是用MAC地址而不是IP地址) 一.ARP欺骗 工 ...

  8. 农业银行网上支付平台-商户接口编程-demo调试

    调试的时候会报一个这样的错误. ReturnCode = [1999]ErrorMessage = [系统发生无法预期的错误 - 第1个证书无法读取证书文档] 网上其他资料说是权限问题,有的人可能是权 ...

  9. 矩阵迹 tr(AB)=tr(BA)的证明

    其实更为直观的理解是:AB与BA具有相同的对角线元素,因此tr(AB)=tr(BA)必然成立 ref:https://blog.csdn.net/silence1214/article/details ...

  10. 【ocata】计算节点的 neutron 报错

    挂起/关闭实例时,/var/log/neutron/linuxbridge-agent.log中报错,但不影响使用 -- :: INFO neutron.plugins.ml2.drivers.age ...