http协议类

1)http协议的主要特点

            简单快速   统一资源符

灵活          通过http协议,可以修改http头,完成不同数据类型的传输

无连接       连接一次就会断掉不会保持连接

无状态       客户端与服务器连接一次断了之后再次连接,服务器并不知道客户端是谁

      2)http报文的组成部分

           1、请求报文

                 请求行     (请求方式,http/http版本)

                 请求头

空行

请求体

           2、响应报文

                  状态行

响应头

空行

响应体

      3)http的方法

            GET            ->        获取资源

            POST          ->        传输资源

PUT             ->        更新资源

DELETE      ->        删除资源

HEAD          ->        获取报文首部

      4)post和get的区别

            1、get参数在url里传递,post参数放在请求体里

2、get只支持url编码,post支持多种编码方式

3、get有长度限制,post没有限制

4、get比post更加不安全,get参数会暴露在url里,不能用来传递敏感数据

5、get请求会被浏览器主动缓存,而post不会,除非手动设置

6、get请求的url地址可以被收藏,post不可以

7、get浏览器回退是无害的,而post会再次提交

8、get请求参数会保留在浏览器历史记录里,而post不会

      5)http状态码

            1xx、指示信息-表示请求已被接收,继续处理

2xx、成功-表示请求已被成功接收(200:客户端请求成功  206:客户发送range头的get请求,服务器完成了它)

3xx、重定向-要完成请求必须进行进一步的操作 (301:所有请求的页面已经转移至新的url,302:所请求的页面已经临时转移到了新的url,304:客户端有缓存的文档发出一个条件性请求,服务器告诉用户原来缓存的文档还可以使用)

  4xx、客户端错误-请求有语法错误或请求无法实现(400:客户端请求有语法错误,不能被服务器所理解,401:请求未被授权,403:请求的页面的访问被禁止,404:请求资源不存在)

5xx、服务器错误-服务器未能实现合法的请求(500:服务器发生不可预期的错误,503:请求未完成,服务器临时过载或当机,一段时间后可恢复正常)

      6)什么是持久化连接(1.1才支持Keep-Alive)

            http协议采用“请求-应答”模式,当使用普通模式,及非keep-alive模式时,每个请求/应答客户和服务器都要新建一个连接,完成以后会立即断开(http协议为无连接的协议)

当使用Keep-Alive模式(又称持久连接,连接重用)时,Keep-Alive功能是客户端到服务器端的链接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了简历或者重新建立连接

      7)什么是管线化    

           在使用持久化连接的情况下,某个消息的传递类似于这样

请求1->响应1->请求2->响应2->请求2->响应2

管线化的消息传递类似于这样(1、原理:打包一次返回    2、只有get和head请求支持,post有所限制   3、初次不要启动管线机制,对方不一定支持)

请求1->请求2->请求3->响应1->响应2->响应3

面试视频知识点整理1-7(http协议)的更多相关文章

  1. 【Android 面试基础知识点整理】

    针对Android面试中常见的一些知识点整理,Max 仅仅是个搬运工.感谢本文中引用文章的各位作者,给大家分享了这么多优秀文章.对于当中的解析,是原作者个人见解,有错误和不准确的地方,也请大家积极指正 ...

  2. 两年经验拿到蚂蚁金服,字节offer,附上金九银十BAT面试核心知识点整理

    前言 我自己是本科毕业后在老东家干了两年多,老东家算是一家"小公司"(毕竟这年头没有 BAT 或 TMD 的 title 都不好意思报出身),毕业这两年多我也没有在大厂待过,因此找 ...

  3. PHP面试-复习知识点整理

    false的七种情况 整型0 浮点0.0 布尔false 空字符串'',"" 字符串'0' 空数组[] NULL 超全局数组 $GLOBALS,包含下面8个超全局数组的值 $_GE ...

  4. 高级 Java 面试通关知识点整理!

    1.常用设计模式 单例模式:懒汉式.饿汉式.双重校验锁.静态加载,内部类加载.枚举类加载.保证一个类仅有一个实例,并提供一个访问它的全局访问点. 代理模式:动态代理和静态代理,什么时候使用动态代理. ...

  5. 搞定PHP面试 - 正则表达式知识点整理

    一.简介 1. 什么是正则表达式 正则表达式(Regular Expression)就是用某种模式去匹配一类字符串的一种公式.正则表达式使用单个字符串来描述.匹配一系列匹配某个句法规则的字符串.正则表 ...

  6. 搞定PHP面试 - 运算符知识点整理

    一.算术运算符 1. 概览 例子 名称 结果 $a + $b 加法 $a 和 $b 的和. $a - $b 减法 $a 和 $b 的差. $a * $b 乘法 $a 和 $b 的积. $a / $b ...

  7. 搞定PHP面试 - 变量知识点整理

    一.变量的定义 1. 变量的命名规则 变量名可以包含字母.数字.下划线,不能以数字开头. $Var_1 = 'foo'; // 合法 $var1 = 'foo'; // 合法 $_var1 = 'fo ...

  8. 搞定PHP面试 - 函数知识点整理

    一.函数的定义 1. 函数的命名规则 函数名可以包含字母.数字.下划线,不能以数字开头. function Func_1(){ } //合法 function func1(){ } //合法 func ...

  9. web前端面试知识点整理

    一.HTML5新特性 本地存储 webStorage websocket webworkers新增地理位置等API对css3的支持canvas多媒体标签新增表单元素类型结构标签:header nav ...

  10. 2019.10.15 CSP初赛知识点整理

    初赛需要的知识点整理如下: (1)计算机的硬件组成与基本常识 (2)单位/进制的转换 (3)进制/逻辑运算相关 (4)概率与期望 (5)排序的各种性质 (6)简单数据结构的使用(栈.队列.链表等) ( ...

随机推荐

  1. Docker - Can't resolve instance hostname.

    Docker容器无法解析主实例主机名 在为redis集群搭建哨兵的时候遇到这个异常 解决方案:在配置文件中添加: ALLOW_EMPTY_PASSWORD=yes 参考文档:linux - redis ...

  2. 两个jsp界面之间使用window.location.href使用?传递参数以及接受参数

    这篇文章如果能给你带来帮助,不胜荣幸,如果有不对的地方也欢迎批评指正. 网上有很多方法是讲怎么截取字符串啊等等的方法来获取参数,说实话,看着我就觉得费劲,咱们可以换一种思路来思考.一般跳转界面多为前段 ...

  3. Linux 在miniconda和anaconda同时安装时,卸载miniconda

    1. 找到miniconda目录,删除. rm -rf miniconda3/ 2. 编辑bashrc sudo vim .bashrc setup路径改回anaconda3的,注释掉"&g ...

  4. Building fresh packages卡很久

    [NPM]Building fresh packages运行很久都没反应原创onemetre 最后发布于2019-12-24 10:20:13 阅读数 287 收藏展开[问题]通过YARN 安装,Bu ...

  5. Qt 中文编译错误和运行显示乱码

    Qt 中文编译错误 Qt error: C2001: 常量中有换行符 解决方法:菜单 --> 编辑 --> 选择编码(select Encoding)--> 文本编码 --> ...

  6. HIVE- set

    SET hive.execution.engine = tez;SET hive.tez.auto.reducer.parallelism = true;SET hive.auto.convert.j ...

  7. CompletableFuture的thenCompose使用具体说明

    1.thenCompose 如果你还没有了解CompletableFuture或者希望再次熟悉一下,可以参考 CompletableFuture使用方法详细说明 1.1. thenCompose的特点 ...

  8. 备份docker mysql数据库

    1.查看容器 docker ps 2.进入容器 docker exec -it 容器id /bin/bash 3.备份数据 mysqldump 数据库名称 -uroot -p >/root/** ...

  9. SQL Server FOR XML EXPLICIT 一步步学习

    查看网址:https://www.itdaan.com/blog/2015/05/05/510cd42eb587c98bcd25ef0e5b687fd1.html

  10. Spark 中三种数据处理对象的区别: RDD-Dataset-Dataframe

    1,对比表:   RDD Dataframe Dataset 版本 1.0 1.3 1.6 描述 分布式数据集合 行列化的分布式数据集合  RDD 和 DataFrame的结合 数据格式 结构化和非结 ...