keywords: http。
-
OSI 七层模型指什么
参考资料:
互联网协议入门
-
HTTP 的工作原理是什么?
HTTP协议规定了客户端与服务器之间通信的数据格式,默认使用80端口。
1、建立tcp/ip连接;
2、客户端向服务端发送http请求,请求包括head和数据两部分;
3、服务端收到http请求后进行处理,处理完成后发出http响应;
4、客户端收到http响应,解析数据并渲染页面。
客户端发送http请求,到服务端接收http请求,还需要经过一下流程:
-
URI 的格式是什么?常见的协议有哪些
URI格式:
常见协议:http、https、ftp、file
-
HTTP 协议有几种和服务器交互的方法
有8中互动方法:
1、GET:向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据。
2、POST:向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。
3、HEAD:与GET方法一样,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的本文部分。
4、DELETE:请求服务器删除Request-URI所标识的资源。
5、TRACE:回显服务器收到的请求,主要用于测试或诊断。
6、PUT:向指定资源位置上传其最新内容。
7、OPTIONS:使服务器传回该资源所支持的所有HTTP请求方法。
8、CONNECT
-
状态码200,301, 304,403,404,500,503分别代表什么意思
状态码告知从服务端返回的请求结果,借助状态码,用户可以知道服务端是正常处理了请求,还是出现了错误。
状态码有以下5类:
200:客户端发送的请求被服务端正常处理;
301:永久重定向。该状态码表示请求的资源以被分配新的URI,以后应使用资源现在所指的URI;
304:是指已经访问过的请求信息被缓存,再次访问时调用缓存内的文件;
403:对请求资源的访问被服务器拒绝;
404:服务器上无法找到请求的资源;
500:服务器端在执行请求时发生错误;
503:服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。
-
报文有哪几部分组成?
HTTP报文分首部和主体两块。两者由最初出现的空行来划分。通常,并不一定要有报文主体。
-
请求头的格式和作用是什么?给个范例截图说明
请求报文和响应报文结构如下:
举两个例子:
-
首部的格式和作用是什么?给个范例截图说明
HTTP首部字段格式:
首部字段名:字段值
例如Content-Type表示报文主体的对象类型。
HTTP首部字段根据用途可分为4中类型:
1、通用首部字段:请求报文和响应报文都会使用的首部;
2、请求首部字段:从客户端向服务端发送请求报文时使用的首部;
3、响应首部字段:从服务端向客户端返回响应报文时使用的首部;
4、实体首部字段:针对请求报文和响应报文的实体部分所使用的首部。
HTTP/1.1规定了47中首部字段:
-
主体的作用是什么?给个范例
主体为被发送的数据。
请求报文主体:
响应报文主体:
-
简述浏览器缓存是如何控制的
浏览器是否使用缓存、使用多久是由服务器控制的。当浏览器请求网页时,服务器端返回的http响应报文中,包含了有关缓存的关键信息。
关于缓存控制,主要有以下4种首部字段:
1、Cache-Control:控制缓存的行为;
2、Expires:资源失效的日期;
3、Last-Modified:资源最终修改的时间;
4、ETag:实体标识,对资源以字符串形式做唯一性标识的方式,当资源更新时,ETag也需要更新。
当通过Cache-Control或Expires设置页面使用缓存时,当用户刷新页面,浏览器会在请求报文中加入条件请求:If-Modified-Since
或If-None-Match
。前者即浏览器最初得到的Last-Modified,后者即浏览器最初得到的ETag,当服务器发现资源的更新时间晚于If-Modified-Since,或在服务器端的资源当前ETag与If-None-Match不符时,服务器会响应整个资源,否则只会响应一个303 Not Modified 状态码(浏览器将从缓存中获取资源)。
参考资料:
浏览器缓存控制简介及配置策略
-
下图各个参数是什么意思