说一下http和https
1.http和https的主要概念 http:http是超文本传输协议,是互联网上使用最为广泛的一种传输协议,是客户端和服务端请求和应答的标准(TCP) https:简单的说就是http的加密版本,在http下加上了ssl。http安全的基础就是ssl。
1.http和https的主要区别 1.https协议需要ca证书,费用较高 2.http是超文本传输协议,信息文明传输的,https是具有安全性的ssl的加密传输 3.使用的链接和端口不同,http一般是使用的端口是80,而https使用的是443端口 4.http的协议是无状态的,
1.https的优点和缺点 优点:https基于ssl进行加密的,在传输过程中比较安全,信息不容易被窃取,改变,可确保信息的完整。 缺点:握手比较费时,加载时间会增加大约50%左右。加密性越强的费用越高,https的缓存比不上http
tcp三次握手
用一句话就是说;客户端和服务端都需要各自的收发; 例如: 加载一个图片,客户端给服务端发送一个请求,客户端会给服务端发送一个数据包,这是第一次握手。 服务端收到客户端的数据包,会响应给客户端请求的数据,客户端接受到服务端响应的数据这是第二次握手。 客户端接收到响应数据包以后,会响应给服务端告诉他我接收到了。这是第三次握手。
TCP和UDP的区别
1.TCP是面向连接的,尔UDP是无连接,及发送数据前不需要先进行连接 2.TCP是面向连接的可靠性传输,而UDP是不可靠的。 3.TCP只能1对1,UDP可以1对1,也可以1 对多 4.TCP面向字节刘,UDP面向报文流 并且网络出现拥塞不会使得发送速率降低(因此会出现丢包,对实时的应用比如IP电话和视频会议等)。 5.TCP首部字节较打20字节,UDP只有8字节
介绍知道的http返回的状态码
100:Continue 继续 客户端继续对其请求
101:Switching Protocols 切换协议 。服务器根据客户端的请求切换协议,只能向更高级版本去切换。
200:ok 请求成功 一般是指post请求或者get请求
201 已创建 请求成功,并创建了新的请求
202 拒绝执行 请求成功,但是拒绝执行
203 非授权信息,原来的meta信息不在原始的服务器,只是一个副本
204 请求处理成功,但是没资源返回
205 重置内容,返回此状态码,客户端可以重置表单内容
206 请求部分内容 请求成功,但服务端只获取到一部分内容
300 多种选择,有不同的资源路径
301 永久重定向 后面所有请求都变成新的url
302 临时重定向 后面的请求还是会使用老的url
303 查看地址 和301比较像
304 未修改 ,资源未修改成功,会返回此状态码, 返回资源为空
305 使用代理 请求都会被代理
306 废弃的状态码
307 临时重定向 像302一样
400 客户端请求语法错误,服务端不能理解
401 合法请求,请求需要验证
402 未使用
403 合法请求 请求页面被禁止访问
404 请求页面不存在
405 请求中的方法不允许
406 服务端响应的内容无法被客户端接受
407 用户必须先使用代理进行身份验证后才能使用
408 请求超出服务器等待时间
409 有冲突,请求无法完成
410 请求页面不可用
411 如果无此内容,服务器不会接受此请求
412 请求中的前提条件被服务器评估失败
413 请求实体过大,请求不被服务器接受
414 url太长,请求不被服务器接受。一帮get会出现这种情况
415 媒介类型不被支持,服务器不会接受请求。
强缓存,协商缓存
缓存分为强缓存和协商缓存(弱缓存)都是根据资源的header的内容去判断的 强缓存相关字段有expires,cache-control。如果cache-control与expires同时存在的话,cache-control的优先级高于expires。 协商缓存相关字段有Last-Modified/If-Modified-Since,Etag/If-None-Match
post和get区别
get请求是像某一地址请求数据 post是向某一地址提交要被处理的数据 post和get都是TCP连接 get的请求大小2-8k,常见的更为小1K以内 get请求会把http和header还有data一起发过去,响应成功以后返回200(返回数据) post 是把header先发出去,服务器响应100 ,在接着发出data,服务器响应200 ,(返回数据)
|