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. python_异常处理(try except)

    1,异常捕获 异常捕获的字段为python解释报错的最后一行的第一个单词.使用try方法,程序报错时,可以使用except方法匹配报错的异常关键字,继续except下方定义的代码,从而保证代码可以正常 ...

  2. flask中的线程隔离技术

    一.引入: 在无线程隔离情况下,通过线程调用函数,函数内部改变传入对象的属性值(排除非线程安全情况),都将更改传入的对象属性 1 import threading 2 3 class TestThre ...

  3. Flink任务自定义个性化配置logback.xml文件

    之前已经写过如何使用logback将日志直接写入Kafka,然后通过es和kibana实时查看 但是如果我们想要每个任务都能够带上单独的信息比如开发者.任务名称等信息,那么就需要每个任务都指定一个lo ...

  4. 错误 C2664 “int fputs(const char *,FILE *)”: 无法将参数 1 从“char”转换为“const char *”解决方法

    遇到这个问题,请打开本项目的Properties(属性) -------> Configuration Properties(配置属性) -------->General(常规) ---- ...

  5. 剑指 Offer II 动态规划

    088. 爬楼梯的最少成本 class Solution { public: int minCostClimbingStairs(vector<int>& cost) { int ...

  6. 调度器46—tick模式

    一.tick简介 tick就是一个周期性的中断,周期通过 CONFIG_HZ 进行配置,一般常取值为100Hz.250Hz.1000Hz.Tick 每秒窃取CPU 100 到 1000 次,导致Ica ...

  7. Enhancement S_ALR_87011964 Asset Balance Report to add custom column

    Enhancement S_ALR_87011964 Asset Balance Report to add custom column - SAP Tutorial Include own fiel ...

  8. oracle ebs 加锁

    DECLARE -- lock l_lockname VARCHAR2(100); l_lockhandle VARCHAR2(200); l_lock_output NUMBER; l_locked ...

  9. 解决sqlplus中方向键和退格键乱码问题

    centos7 1.安装rlwrap软件包 yum install rlwrap -y 2.编辑环境变量 su - oracle vim ~/.bash_profile alias sqlplus=' ...

  10. Spring Web MVC注解

        @RequestMapping @RequestMapping注解的主要用途是将Web请求与请求处理类中的方法进行映射. Spring MVC和Spring WebFlux都通过RquestM ...