HTTP知识

---恢复内容开始---

http全过程

当我们打开一个网页的时候都会发生的过程:

输入域名(url)-->DNS映射为IP-->TCP三次握手-->HTTP请求-->HTTP响应

-->(浏览器跟踪重定向地址)-->服务器处理请求-->服务器返回一个html响应-->(视情况决定释放TCP链接)

-->客户端解析HTML-->获取嵌入到HTML中的对象重新发起http请求

TCP三次握手:

client--->server:SYN(发起一个TCP连接,同步报文)

server--->client:SYN+ACK(应答报文,表示已经创建链接)

client--->server:server:ACK(应答报文,表示收到已连接)

四次挥手

client-->server:FIN(请求关闭连接)

server-->client:ACK(收到了连接,但不会立即关闭,等到报文都发送完在回复一个FIN)

server-->client:FIN

client-->server:ACK(收到关闭)

http请求:

关于http请求包含的几部分:

1,请求行

2,请求头

3,空行

4,请求包体(只有post有请求包体)

get/post的区别

1.请求参数:get参数附在URL后面以?隔开,Post参数放在包体中

2.大小限制:GET限制在2048字符,post无限制

3.安全问题:GET参数暴漏在URL中,不如POST安全

http响应:

关于http响应包括的几部分:

1,状态行

2,响应头

3,响应包体

http状态码:

1XX,表示可续发请求

该类型的状态码代表请求已被接受,需要继续处理

100 containue:客户端应当继续发送请求,这个临时响应是用来通知客户端的部分请求已经被服务器接收,且仍未拒绝,客户端应当继续发送请求的剩余部分。

如果请求已经完成,忽略这个响应,服务器必须在请求完成后向客户端发送一个最终响应。

101

服务器已经理解客户端的请求,并通过 update消息头通知客户端采用不同的协议来完成这个请求,只有在切换新的协议更有好处时,才采取类似措施。

102

扩展状态码,代表处理将被继续执行

2XX,表示成功

该类型的状态码代表请求已成功被服务器接收,理解并接受

200 OK

请求成功,请求所希望的响应头或数据体将随此响应返回

201 Created

请求已经被实现,而且有一个新的资源已经依据请求的需要而创建,且其URL已经随 Location 头信息返回

*202 Accepted:

服务器已接受请求,但尚未处理。

*204成功,不返回实体主体

*206成功,执行了一个范围请求

3XX表示重定向:

301:永久重定向,增加SEO排名

302:临时重定向,禁止POST变为GET

303:另外一个URI

304:判断是否要更新缓存

307:临时重定向

4XX表示客户端错误

400客户端语法错误

401请求未经授权

403服务器拒绝服务

404请求资源不存在

5XX:服务端错误:

500:不可预期的错误

503此时不能提供服务,稍后恢复正常

客户端解析HTML

onload ready的区别:

ready 表示文档加载完毕,不包括图片

onload表示都加载完毕

---恢复内容结束---

时间: 2024-10-10 20:53:44

HTTP知识的相关文章

MySQL数据库基础知识

day02 MySQL数据库基础知识 一.基础知识概述: 基础决定你这门课程的学习成败!只有学习好这些基础知识以后,你才能真正的运用自如.才能够对数据库有更深入的了解,道路才会越走越远. 二.基础知识: 1.数据库(database):数据库就好比是一个物理的文档柜,一个容器,把我们整理好的数据表等等归纳起来. 创建数据库命令:        create database 数据库名; 2.查看数据库         show databases; 3.打开指定的数据库         use 

前端里移动端到底比pc端多哪些知识?

前端里移动端到底比pc端多哪些知识,为啥面试时好多公司都问h5水平如何? 我做过几年的web前端开发,就简单谈谈自己的感受吧. 首先来看看PC端和移动端在前端开发上的一些区别: (1)PC考虑的是浏览器兼容性,移动端开发考虑的更多的是手机兼容性,因为目前不管是android手机还是ios手机,一般浏览器用的都是webkit内核,所以做移动端开发,更多考虑的应该是手机分辨率的适配,和不同操作系统的略微差异化: (2)在部分事件的处理上,移动端自然是偏向于触屏的,所以触屏事件的一些规律要多摸索一下,

linux入门基础知识及简单命令介绍

linux入门基础知识介绍 1.计算机硬件组成介绍 计算机主要由cpu(运算器.控制器),内存,I/O,外部存储等构成. cpu主要是用来对二进制数据进行运算操作,它从内存中取出数据,然后进行相应的运算操作.不能从硬盘中直接取数据. 内存从外部存储中取出数据供cpu运存.内存的最小单位是字节(byte) 备注:由于32的cpu逻辑寻址能力最大为32内存单元.因此32位cpu可以访问的最大内存空间为:4GB,算法如下: 2^32=2^10*2^10*2^10*2^2 =1024*1024*1024

认知,构建个人的知识体系(上)

1.前言 本文将聊聊我对构建个人知识体系的一些想法,主要是为了提升自我认知.从个人经历开始,谈谈对知识的划分,也就是一个是什么,为什么的过程. 2.缘起 把时间回到一年前,那时候我工作快一年了,得益于前面的一些努力,工作比较顺利.特别是技术上,没有遇到太多过无法解决的问题.同时也开始迷茫,工作难道就是这个轻松的样子?三五年之后那不是很无趣,该怎么办? 想找到这个问题的答案,而最好的方式莫过于,亲自去了解那些三五年工作经验的人是怎么的样子. 因此从那时候起,关注了不少来公司面试的人的简历,也有过几

知识汇总都在这里了,赶紧点开看看吧!

微信公众号:Web前端精髓 Web前端技术由html.css和JavaScript三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言.而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知识点,因此对于初学者很难理清楚整个体系的脉络结构. Web前端精髓是一个分享前端知识的平台,内容包括HTML.CSS.javascript 等和前端技术相关的一切,如果您想对前端有更多的了解,那就持续关注我们,目的是帮助大家审查自己的知识结构是否完善,希望我的文章对你们有

学习虚拟化技术需要掌握的知识与能力(未完成版)

我从1993年学习计算机,有过短期的C语言开发经历,现在主要从事网络与系统集成的工作.我可以算是学习计算机比较"早"的一批人了. 1993年的时候,我是从MS-DOS 3.30开始,直到最后的MS-DOS 6.22.Windows系统是从Windows 3.1(中文版)开始,再到Windows 3.11.Windows 95.98一直到现在的Windows 10. 组建Windows网络是在1996年河北省国税局全省联网,是从Windows NT 3.51开始,到后来的Windows

CentOS下的路由知识及配置路由

博文目录 简介 上一篇博文已经讲解了IP地址的配置,那么有IP,就准备开始进行通信吧,网络之间的通信主要是依靠路由器,当然生成环境中是拥有路由器的,但是系统中的路由配置也是需要了解一下地,今天讲解一下软路由的显现,与一个路由的小实验 linux下需要启用ip_forword 启用路由功能 echo 1 > /proc/sys/net/ipv4/ip_forword 一.路由表中的接口 到达目标网段从本路由器的那个接口能到达,这个借口就本路由的记录接口 1.如果目标网络和路由器直接相连,网关即是路

javascript必须知道的知识要点(二)

该文章不详细叙述各知识要点的具体内容,仅把要点列出来,供大家学习的时候参照,或者检测自己是否熟练掌握了javascript,清楚各个部分的内容. 内建对象可划分为数据封装类对象.工具类对象.错误类对象,如下. 数据封装类对象: Number对象 String对象 Boolean对象 Array对象 Object Function 工具类对象: Math对象 Date对象 RegExp对象 错误类对象: Error对象  Number对象 JavaScript 只有一种数字类型.Number,包括

关于H5框架之Bootstrap的小知识

浏览器支持 旧的浏览器可能无法很好的支持 Bootstrap 支持 Internet Explorer 8 及更高版本的 IE 浏览器 CSS源码研究 我们不是在head里面引入了下面这些文件么 <!-- 新 Bootstrap 核心 CSS 文件 --> <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css"> &l

031医疗项目-模块三:药品供应商目录模块——sql补充知识

这个补充知识有一个点很有必要,视屏上的老师提出一点: 内链接关联查询: 如果表A和表B有一个外键关联 ,可以通过外键进行内链接查询 select dictinfo.*, dicttype.typename from dictinfo, dicttype where dictinfo.typecode = dicttype.typecode --不通过外键,通过groupid查询用户类型的代码结果集,只能查询出一条记录,可以使用内链接 select sysuser.*, dictinfo.info