既是拾人牙慧,部分问题就直接放我认为比较优秀的文章连接了,仅供参考。若是您发现错误,请必定要告诉我,拯救一个辣鸡(但很帅)的少年就靠您了!html
TCP 面向链接,UDP 是无链接的,即发送数据以前不须要创建链接。算法
TCP 提供可靠的服务。也就是说,经过TCP链接传送的数据,无差错,不丢失,不重复,且按序到达;UDP 尽最大努力交付,即不保证可靠交付。数据库
TCP 面向字节流,其实是 TCP 把数据当作一连串无结构的字节流;UDP 是面向报文的。UDP 没有拥塞控制,所以网络出现拥塞不会使源主机的发送速率下降(对实时应用颇有用,如 IP 电话,实时视频会议等)。跨域
每一条 TCP 链接只能是点到点的;UDP 支持一对一,一对多,多对一和多对多的交互通讯。浏览器
TCP 首部开销 20 字节;UDP 的首部开销小,只有 8 个字节。缓存
TCP 的逻辑通讯信道是全双工的可靠信道,UDP则是不可靠信道。安全
TCP没那么难吧?服务器
超文本传输协议(HyperText Transfer Protocol,HTTP)是一种用于分布式、协做式和超媒体信息系统的应用层协议。HTTP是万维网的数据通讯的基础。cookie
1xx:消息,请求已被服务器接收,继续处理
2xx:成功,请求已成功被服务器接收、理解、并接受
3xx:重定向,须要后续操做才能完成这一请求
4xx:请求错误,请求含有词法错误或者没法被执行
5xx:服务器错误,服务器在处理某个正确请求时发生错误
OPTIONS
, GET
, HEAD
, POST
, PUT
, DELETE
, TRACE
等
POST
和 GET
区别?
关键词: Expires/Cache-Control
、public/private
、no-store/no-cache
、Last-Modified/Etag
两个感性的小故事:HTTPS 的故事、一个故事讲完https
HTTPS 是 HTTP 的安全版,即 HTTP 下加入 SSL 层。
SSL 协议位于 TCP/IP 协议与各类应用层协议之间,为数据通信提供安全支持。
SSL协议可分为两层:
SSL 记录协议(SSL Record Protocol):它创建在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。
SSL 握手协议(SSL Handshake Protocol):它创建在 SSL 记录协议之上,用于在实际的数据传输开始前,通信双方进行身份认证、协商加密算法、交换加密密钥等。
Cookie
数据始终在同源的 HTTP 请求中携带(即便不须要),即 Cookie
在浏览器和服务器间来回传递。而 sessionStorage
和 localStorage
不会自动把数据发给服务器,仅在本地保存。Cookie
数据还有路径(path)的概念,能够限制 Cookie
只属于某个路径下,存储的大小很小只有4K左右。
sessionStorage
仅在当前浏览器窗口关闭前有效,localStorage
始终有效,窗口或浏览器关闭也一直保存,所以用做持久数据,Cookie
只在设置的 Cookie
过时时间以前一直有效,即便窗口或浏览器关闭。
localStorage
和 Cookie
在全部同源窗口中都是共享的。可是不一样页面或标签页间没法共享 sessionStorage
的信息。
IndexDB
是一个运行在浏览器上的非关系型数据库。理论上来讲,IndexDB
是没有存储上限的(通常来讲不会小于 250M)。它不只能够存储字符串,还能够存储二进制数据。
由于 HTTP 是无状态协议,每一次请求间相互独立,服务端不会记住请求发送请求的客户端。
浅显的理解三种方式,cookie、session 和 token 。
cookie 存储用户信息。缺点不安全,容易被伪造。
session 是服务端会记录用户信息,并经过 session id 来标识查找这个信息。浏览器发送请求时经过参数或 cookie 将 session id 传给服务端使其获取用户信息。
token 是用户登陆后,服务端生成一个 token 返回给客户端。客户端后续请求会带上这个 token ,能够经过 cookie 或 header 中 Authorization 字段(没有 cookie 的跨域问题),服务端解析 token 获取用户信息。
(再看一遍以为阮一峰老师写的真好……