http概述
http是干嘛的?
http是数据传输协议(超文本传输协议),用来沟通客户端和服务器的!
什么是资源?
记住一句话,网络上的一切内容皆资源,无论是静态文件,还是动态生成的代码等!
什么是媒体类型?
其实就是一种数据类型标记,用来告诉接收端,接收到的数据是什么类型,让接收端知道怎么才能处理该文件!常见标记方式就是MIME,MIME描述了文件的主要类型以及特定子类型,例如:“Content-Type”:“text/html”,其中text描述的文件的主要类型是文本,而其特定类型是html文档!
怎么理解URI以及它的子集?
首先URI从其概念来说是统一资源标识符,它的作用就是在网络上唯一确定一个资源,就好比,在中国,身份证能唯一确定一个人一样!知道身份证号,就一定能确定一个人姓甚名谁一样!它有两个子集:URL(统一资源定位符)和URN(统一资源名),首先不特别声明,我们所说的URI就是指URL,URL是跟资源其在网络上的位置有关!而URN是指资源跟其名字有关,URN是未来的趋势,不过貌似具体实施现在还在商讨中!所以短时间之内URN难以取代URL!
什么是事务?
说白了事务就是“一次http链接(不包括tcp/ip连接,只包括一次http报文发送与接收)”的整个过程,由请求命令和响应结果组成!中间数据格式是http报文。我们平常打开一个网站,里面包括很多事务!如:请求网页文档、请求某个logo图片及请求某个视频等!
方法指什么?
方法就是客户端向服务器发起的请求命令!常见方法有:get、post、delete、put、head!
状态码有什么用?
A:状态码对程序有用,便于程序进行相关控制!原因短语对人有用!
简单介绍一些报文!
A:首先报文是http协议一种纯文本的数据格式,分为请求报文和响应报文,两种报文都具有类似的结构,分别由三个部分构成:起始行、首部、主体,起始行描述报文干了什么!首部描述报文传输的具体细节!主体描述传输的实际内容!
什么是TCP/IP?跟HTTP有什么关系?
A:tcp/ip是全世界的计算机和网络设备常用的层次化分组交换网络协议集!简单的说,http协议是一个应用层协议,位于tcp/ip协议的上一层,tcp/ip协议的主要作用就是过滤掉每个计算机的差异性,隐藏相关弱点,使得对于http协议来说提供的都是“相同的”接口!
在一次网络请求中,分别经历那些过程?
A:步骤如下:
(a)浏览器从url中解析处服务器的主机名;
(b)浏览器将服务器的主机名转换成服务器的的ip地址;(可能经过去dns服务器查询)
©浏览器将端口号(如果有的话)从url中解析出来;
(d)浏览器建立一条与web服务器的tcp连接;
(e)浏览器向服务器发送一条http请求报文;
(f)服务器向浏览器回送一条http响应报文;
(g)关闭连接,浏览器显示文档
http协议有哪些版本?
http/0.9,这个版本有严重设计权限
http/1.0,广泛使用
http/1.0+ 非官方的http/1.0的扩展版本
http/1.1 目前正在使用的版本,修复的相关设计缺陷,增加的相关特性
http-NG 将来使用与否正在商讨中
介绍一下web中的一些结构组件?
主要有代理、缓存、网关以及隧道!分别简介如下:
-
- 代理:代理位于客户端和服务器之间,接收所有客户端的HTTP请求,并把这些请求转发给服务器(可能会对请求进行修改之后转发)。对用户来说,这些应用程序就是一个代理,代表用户访问服务器。代理的主要作用有过滤、屏蔽等!(还有需要注意一点:代理既可以代表服务器对客户端进行响应,又可以代表客户端对服务器进行请求!)
-
- 缓存:首先说明一下,缓存某种意义上来说也是一种代理服务器。它主要使用代表服务器对客户端进行响应。发送预先缓存好的资源的副本。这样会加快事务响应速度、同时也会减少服务器的负载、减轻带宽等问题!
-
- 网关:网关是一种特殊的服务器,面对客户端时好像它就是服务器,而对于服务器,他又充当客户端的角色,它的主要作用是协议转换!例如HTTP/FTP网关。
-
- 隧道:就是一个连接通道,用于在http信道上发送非http协议的资源。
-
- Agent代理:说白了就是我们平时所说的浏览器,以及web机器人、爬虫等!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 04.Android崩溃Crash库之Loop拦截崩溃和ANR
- [源码分析] 从实例和源码入手看 Flink 之广播 Broadcast
- [源码分析] 从FlatMap用法到Flink的内部实现
- [白话解析] 通俗解析集成学习之bagging,boosting & 随机森林
- [源码分析] 带你梳理 Flink SQL / Table API内部执行流程
- 从"UDF不应有状态" 切入来剖析Flink SQL代码生成
- [源码分析]从"UDF不应有状态" 切入来剖析Flink SQL代码生成 (修订版)
- [白话解析] 通俗解析集成学习之GBDT
- [源码解析]为什么mapPartition比map更高效
- [记录点滴]Redis实现简单消息队列
- [源码解析] Flink的groupBy和reduce究竟做了什么
- [记录点滴]在Ionic和Android中上传Blob图片
- [源码解析] GroupReduce,GroupCombine 和 Flink SQL group by
- [记录点滴] 小心 Hadoop Speculative 调度策略
- [白话解析] 通过实例来梳理概念 :准确率 (Accuracy)、精准率(Precision)、召回率(Recall)和F值(F-Measure)