HTTP

1.有关HTTP的请求

GET:向服务器请求指定的资源
POST:向服务器提交数据请求处理,数据被包含在请求体中。
HEAD : 返回服务器上对指定资源数据的 HTTP 请求头,在不需要返回全部数据的情况。
OPTIONS : 返回服务器对指定资源数据支持的 HTTP 请求方法,一般用于测试服务器功能的可用性。
PUT : 向服务器上传指定的数据。
DELETE : 向服务器发送请求删除指定数据。
TRACE : 回显服务器收到的请求,主要进行功能测试诊断。
CONNECT : HTTP1.1 协议中预留请求方式,可以将连接改为管道方式的代理服务器
2.GET与POST的区别

GET将数据放在url中http://www.baidu.com/test?name=test&id=123456。
POST 方法是把提交的数据放在 HTTP 包的 Body 中。

GET数据发送有限,POST数据理论发送无限

GET产生一个TCP数据包;POST产生两个TCP数据包。

对于GET请求,浏览器会把http header和data一起发过去,然后拿到服务器相应(比如200,返回数据);

而POST请求,浏览器先发送header,服务器相应100 continue,浏览器拿到相应再发送data,服务器相应200 ,返回数据。

 

在缓存方面:GET是查询请求所以需要有缓存,而POST是传递数据用于修改,多是对服务器操作,所以POST少用缓存

 

3.POST与PUT的区别

PUT请求:如果两个请求相同,后一个请求会把第一个请求覆盖掉。(所以PUT用来改资源)幂等性
Post请求:后一个请求不会把第一个请求覆盖掉。(所以Post用来增资源)

 

GET,PUT,DELETE都是幂等操作,而POST不是

 

HTTP协议是一种无状态面向连接的协议

无状态是指服务器是无记忆的,对于这次打开网页与上次打开的网页是没有关系的

 

4.cookile的作用?以及它的生命周期

用于保存一些信息,可以用来比如记住用户名密码自动登录

生命周期设定值:Expire,超过有效时间则无效,如果为0或负值则浏览器关闭失效

 

5.为什么cookile不安全?

6.用什么办法解决cookile的安全问题

 

7.cookile与session的区别?

1.因为cookile放在本地,所以安全性不高

2.因为session放在服务器,所以大家都访问它可能会造成服务器压力大,考虑性能可能使用cookile

 

 

8.是什么长连接与短连接?

 

9.HTTP状态码

1XX接受的请求正在处理

2XX 成功
    200 ok(请求成功)
    204 no content (请求成功,但是没有结果返回)
    206 partial content (客户端请求一部分资源,服务端成功响应,返回一范围资源)
3XX 重定向
    301 move permanently (永久性重定向)
    302 found (临时性重定向)
    303 see other (示由于请求对应的资源存在着另一个 URI,应使用 GET
    方法定向获取请求的资源)
    304 not modified (表示在客户端采用带条件的访问某资源时,服务端找到了资源,但是这个请求的条件不符合。跟重定向无关)
    307 temporary redirect (跟302一个意思)
4XX 客户端错误
    400 bad request (请求报文存在语法错误)
    401 unauthorized (需要认证(第一次返回)或者认证失败(第二次返回))
    403 forbidden (请求被服务器拒绝了)
    404 not found (服务器上无法找到请求的资源)
5XX 服务器错误
    500 internal server error (服务端执行请求时发生了错误)
    503 service unavailable (服务器正在超负载或者停机维护,无法处理请求)

10.HTTP1.X的缺点

  1.只能单向请求,客户端向服务器请求

  2.传输的数据未压缩,数据量过大

  3.请求的是文本形式

11.HTTP2的特点

  1.二进制传输,相比较文本传输,不用考虑 文本的多种形式

  2.多路复用,一个TCP可以同时多个请求,1.X中只能一个TCP连接只能一个请求

  3.对请求头部压缩,1.X头部数据文本形式过大

  4.服务器PUSH,1.X只能单向请求,而2.可以服务器主动发送资源

12.HTTP1.1的特点

  使用长连接:即一次连接可以多此使用,减少了多次建立释放连接的损耗

13.HTTP包的结构

  请求包:请求行,请求头,请求数据,1,请求行:请求方法+URL+HTTP协议:GET /data/info.html HTTP/1.1,2.请求头:字段太多暂不了解

  响应包:响应行,响应头,响应体,1.响应行:HTTP协议+状态码:,2.响应头:字段太多暂不了解

14.HTTP与FTP的区别

  HTTP面向网页,FTP面向文件(本质都是文件传输)  

  FTP比HTTP复杂:

FTP首先是建立两条TCP:1.传命令2.传数据
FTP协议两种传送方式:1.主动模式:客户端通知服务器可以来请求他,2被动模式:服务器通知客户端可以来请求它
之后客户端/服务器发送连接请求

15.简述一下SSL?

  SSL是一种浏览器与服务器之间的安全协议,用于身份认证以及加密数据传输

 

16.简述一下长连接与短链接,以及应用场景

  短链接是HTTP1.0使用的,应用在客户端与服务器之间不频繁操作

  长连接是HTTP1.0以后使用的,应用在之间频繁操作的,可以设置超时时间

  长连接只需建立一次TCP连接之后反复多次HTTP请求/响应

 

posted @ 2021-03-01 13:16  爱晒太阳的懒猫。。  阅读(60)  评论(0编辑  收藏  举报