【一起来烧脑】读懂HTTP知识体系
背景
读懂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知识体系的更多相关文章
- 【一起来烧脑】读懂Promise知识体系
知识体系 Promise基础语法,如何处理错误,简单介绍异步函数 内容 错误处理的两种方式: reject('错误信息').then(null, message => {}) throw new ...
- 【一起来烧脑】读懂WebApp知识体系
背景 很多小白知道什么是app,但是却不知道什么是webapp呢,webapp是指用HTML5编写的移动web应用 一个webapp可以在pc端,Android端,ios端进行运行 webapp开发的 ...
- 【一起来烧脑】读懂JQuery知识体系
背景 在现在就业的过程中,会运用JQuery是你的加分项,那么什么是JQuery,嗯,jquery是JavaScript的函数库,是一种轻量级的JavaScript库,写得少,做的多,导致jQuery ...
- 【转】一篇文章读懂人力资源三支柱体系(COE・BP・SSC)
通过人力资源转型,提升效率和效能 作者:Sharon Li,翰威特大中华区咨询总监. 杰克韦尔奇曾说过“人力资源负责人在任何企业中都应该是第二号人物”,但在中国,99%的企业都做不到.原因很简单, ...
- 一文读懂 Java 异常体系
写程序的时候,编辑器会提示错误,关键字拼错了,语法不符合规则,不符合泛型:程序编译的时候,编译器会提示错误,检查是否符合 Java 的语法规范,没有通过编译器检查的程序就无法编译,也就无法运行.这些都 ...
- web前端知识体系总结
1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...
- 一文读懂UGC:互联网上的生态秘密
转载自近乎: UGC(User- Generated Content)用户原创生产内容,它是相对于PGC(Professionally-produced Content)专业生产内容的一种内容来源,简 ...
- 自己总结的web前端知识体系大全【欢迎补充】
1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...
- web前端知识体系大全
1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...
随机推荐
- 使用Jenkins自带功能(不用shell)构建Docker镜像并推送到远程仓库
意义: 一开始实现这个目的是在Jenkins中使用的shell脚本,也就是如下的这个: bash # 进入到生成jar包的根目录 cd ${WORKSPACE}/${module_filename} ...
- 在Unity中创建VR游戏
添加VR插件为了为您选择的平台创建VR游戏,我们需要下载几个插件.出于本教程的目的,我将向您展示如何上传到Android平台.要上传到iOS,您需要下载 Xcode. 现在让我们下载Unity的Goo ...
- java报错与解决方法总结
错误 error:Syntax error, insert ")" to complete MethodDeclaration 解决办法:放到main方法里 错误原因: 错误: e ...
- canvas教程(三) 绘制曲线
经过 canvas 教程(二) 绘制直线 我们知道了 canvas 的直线是怎么绘制的 而本次是给大家带来曲线相关的绘制 绘制圆形 在 canvas 中我们可以使用 arc 方法画一个圆 contex ...
- 关于ES6的对象扩展运算符
对象的扩展运算符(...),用于取出参数对象中的所有可遍历属性,然后拷贝到当前对象之中 对象扩展运算符: 1. 复制对象 let obj1 = { x: 1, y: 2, z: 3 } let obj ...
- PHP 中使用ajax时一些常见错误总结整理
这篇文章主要介绍了PHP 中使用ajax时一些常见错误总结整理的相关资料,需要的朋友可以参考下 PHP作为后端时,前端js使用ajax技术进行相互信息传送时,经常会出错误,对于新手来说有些手足无措.总 ...
- DQL 查询表中的数据
DQL 查询表中的数据:查询语句(最复杂的语句)不会对数据库中的数据进行修改,只是一种显示数据的方式 语法格式: select 字段列表 from 表名列表 where 条件列表 group by 分 ...
- centOS学习part6:安装oracle 11g
0 大家好.上一章(http://www.cnblogs.com/souvenir/p/3881484.html)我们对oracle在centOS下的安装进行了各项环境准备,本章我们将正式进行oral ...
- 纯JavaScript实现的调用设备摄像头并拍照的功能
这篇文章本来不在Jerry计划内的,咱们SAP中国研究院今天已经正式上班了,Jerry也回到工作岗位开始搬砖了. 今天一位同事问我关于本文标题描述的功能如何实现,Jerry在网上随便搜了一下,类似的例 ...
- IntelliJ Idea 依赖包下载成功,代码里无法import问题解决方法
今天clone一个github上的基于maven的项目IntelliJ Idea 依赖包下载成功,代码里无法import.解决方法:删掉原来的.iml,刷新. 如果不行,可尝试:File->In ...