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. SSH和SFTP的简单使用

    ssh命令 ssh 命令用来远程登录linux主机:ssh username@hostname 默认端口是22,如果设定了其他端口,那么使用-p参数来指明,例如端口若改为6666, 则登录命令变为 s ...

  2. 08 SSM整合案例(企业权限管理系统):09.用户和角色操作

    04.AdminLTE的基本介绍 05.SSM整合案例的基本介绍 06.产品操作 07.订单操作 08.权限控制 09.用户和角色操作 10.权限关联 11.AOP日志 09.用户和角色操作 1. 用 ...

  3. Linux每日练习-批量删除用户,非脚本运行方式 20200225

  4. P1047 编程团体赛

    转跳点:

  5. POJ 3252:Round Numbers

    POJ 3252:Round Numbers Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10099 Accepted: 36 ...

  6. USB2.0主机控制器 UPD720114 简单详解

    UPD720114 是符合 USB 2.0规格的集线器控制器,适用于“符合生态原则的解决方案”.这种小型封装的控制器集成了核心逻辑电路的2.5 V 内部电压调整器.终端电阻器,减少了所需要的外部组件的 ...

  7. 1 —— js 语法回顾 —— 数据类型。流程控制。数组

    一,数据类型 字符串 . 数值 .布尔. null . undefined . 对象  ( 数组 . 函数 function(){} . object) undefined 出现的情景 :  (1)变 ...

  8. 浅谈arduino的bootloader

    在arduino的板子上,作为核心的avr单片机往往都会烧录一个bootloader,这个叫做bootloader的东东其实是arduino研发团队针对arduino板子开发的一小段代码,借助于这段代 ...

  9. HDU 4902 Nice boat 多校4 线段树

    给定n个数 第一个操作和普通,区间覆盖性的,把l-r区间的所有值改成固定的val 第二个操作是重点,输入l r x 把l-r区间的所有大于x的数,变成gcd(a[i],x) a[i]即指满足条件的序列 ...

  10. C#编码习惯2

    1.一定要用大括号括住流程控制元素,如for,while,if,switch内嵌的代码,即便只包含一行代码. 2.如果语句中有else if,一定要有一个else跟着最后一个else if. 3.只要 ...