http协议的主要特点

简单快速  //某个资源是固定的 (统一资源符)UII

灵活  //http头部有个数据类型,完成不同数据类型的传输

无连接  //链接一次就会断开

无状态 //客户端和服务端是两种身份  http中间建立链接(不区别两次链接者的身份)

http报文组成部分

请求报文:

请求行:请求方法 页面地址 http协议版本

请求头 Header   //key value

空行 /r/n/r/n

请求体 body

HTTP方法

GET --- 获取资源

POST --- 传输资源

PUT ---- 更新资源

DELETE --- 删除资源

HEAD --- 获得报文首部

POST与GET区别

GET在回退的时候无害的 POST会再次请求

GET产生的地址可以收藏 post不行

GET会被浏览器主动缓存。POST不会除非设置

GET只能进行URL编码,POST多种编码

GET中参数会被完整保留在历史记录中。post不会

GET在url中传送参数是有长度限制,post没有

get只接受ascll字符。post不会

get比post更不安全。因为参数直接暴露在url上,所有不能传递敏感信息

get通过url传递。post放在request body中

http状态吗

1开头 指示信息 请求已经接受,继续处理

2开头 成功  请求被成功接受

200 客户端请求成功

206 播放视频音频文件 (文件比较大)

3  重定向  要完成请求必须更进一步的操作

301 请求转移新的url

302 临时转移新的url 临时重定向

304 电脑有缓存

4 客户端错误 请求语法错误或请求无法实现

400 语法错误

401 未授权

403 请求页面被禁止

404  资源找不到

5 服务器错误 服务器未能实现合法的请求

500 服务器错误

503 临时过载或当机

HTTP持久连接

请求-应答模式  每次请求/应答要建立连接 完成后断开连接

http1.1 就支持了持久连接

// 当使用Keep-Alive模式(持久连接)能使客户端与服务器的连接持续有效

当出现后继请求的时候。KeepAlive功能避免了建立或重新建立连接

HTTP管线化

持久连接  (连接不会中断)

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

某个连接上的消息变成类似这样

请求打包 响应打包

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

//这块我了解原理怎么用

//没有认真研究过

//业务中已经够用了

//什么好的资料可以补充一下细节

管线化特点:

持久连接 版本http 1。1

GET和HEAD请求可以用  post有所限制

初次连接不用管线化机制

面试准备 HTTP协议的更多相关文章

  1. 不惧面试:HTTP协议(1) - 基础扫盲

    v博客前言 先交代下背景,之前在一家公司面试.NET开发,去了先是做一份笔试题,有一半是关于HTTP协议的,技术总监直接面试,也是问一大堆HTTP协议的知识点,可能跟该公司的产品有关,该公司属于互联网 ...

  2. 不惧面试:HTTP协议(3) - Cookie

    v博客前言 先交代下背景,写这个系列的原因是总结自己遇到的面试题以及可能遇到的题目,更重要的是,今年定的目标是掌握网络这一块的知识点,先是搞懂HTTP协议,然后是TCP/IP协议,再就是WCF如何运用 ...

  3. 关于面试总结8-http协议相关面试题

    前言 在PC浏览器的地址栏输入一串URL,然后按Enter键这个页面渲染出来,这个过程中都发生了什么事?这个是很多面试官喜欢问的一个问题 如果测试只是停留在表面上点点点,不知道背后的逻辑,是无法发现隐 ...

  4. 网络协议相关面试问题-http协议相关面试问题

    HTTP协议简介: 一些基本概念: 协议:指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则. HTTP协议:超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML ...

  5. 前端面试:Http协议与浏览器

    Http与Https的区别 Http是明文传输的,Https协议是在Http协议上添加了SSL的加密协议,可以进行加密传输和身份验证. 其实就是说Http对网络传输完全是裸奔状态,也就没办法防范中间人 ...

  6. 【Java面试】TCP协议为什么要设计三次握手?

    一个工作5年的粉丝,最近去面试了很多公司,每次都被各种技术原理题问得语无伦次. 由于找了快1个月时间的工作,有点焦虑,来向我求助. 我能做的只是保证每天更新一个面试题,然后问他印象最深刻的一个面试题是 ...

  7. 【面试】http协议知识

    一.什么是HTTP协议        HTTP协议是一种应用层协议,HTTP是HyperText Transfer Protocol(超文本传输协议)的英文缩写.HTTP可以通过传输层的TCP协议在客 ...

  8. 面试:http协议

    转自:http://www.cnblogs.com/ranyonsue/p/5984001.html#undefined HTTP简介 HTTP协议是Hyper Text Transfer Proto ...

  9. 斐迅面试记录—Http协议中的Header

    HTTP Request的Header信息 1.HTTP请求方式 如下表: 说明:  主要使用到“GET”和“POST”. 实例: POST /test/tupian/cm HTTP/1.1 分成三部 ...

随机推荐

  1. php5.3不支持 ereg、ereg_replace等函数问题

    在php5.3环境下运行oscommerce,常常会出现Deprecated: Function ereg() is deprecated in...和Deprecated: Function ere ...

  2. 关于安装openfiler

    简介 Openfiler 由rPath Linux驱动,它是一个基于浏览器的免费网络存储管理实用程序,可以在单一框架中提供基于文件的网络连接存储 (NAS) 和基于块的存储区域网 (SAN).Open ...

  3. Spring入门之五-------SpringIoC之通过注解实现

    一.准备工作 创建一个Class注解@Configuration,如下例子: @Configuration // 该注解可理解为将当前class等同于一个xml文件 @ComponentScan(&q ...

  4. Jenkins实现自动打包,MAVEN打包,Shell脚本启动

    1.点击New任务 2.创建任务,输入项目名 3.输入描述等 4.选择Git或SVN 5.自动,定时打包 6.在Build下配置

  5. 无法执行 BACKUP LOG,因为当前没有数据库备份,导入数据库备份.bak文件

    右键数据库——>任务——>还原——>数据库 无法执行 BACKUP LOG,因为当前没有数据库备份 结尾日志的问题 还原选择中去掉结尾日志就可以了

  6. Liunx用户运行模式

    运行模式也可以称之为运行级别(Running Level). 在linux中存在一个进程:init (initialize,初始化),进程id是1. [he@localhost ~]$ ps -ef ...

  7. 会话控制——Cookie和Session

    Cookie简介 l  HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分中两次请求是否由一个客户端发出.这样的设计严重阻碍的Web程序的设计.如:在我们进行网购时,买了一条 ...

  8. spring-@ResponseBody返回时的编码处理

    下面是一个解决方案 @RequestMapping(value = "/queryall", method = GET, produces = "application/ ...

  9. SpringMVC原理及流程解析

    前言 春节期间宅在家里闲来无事,对SpringMVC进行了比较深入的了解,将之前模糊不清的地方基本摸索清楚了,特此撰文总结记录一下. 正文 一.一个请求为什么会调用到SpringMVC框架里? 首先问 ...

  10. 开源DDD设计模式框架YMNNetCoreFrameWork第五篇-Swagger增加权限认证

    配置文件services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Version = " ...