HTTP基础知识点(二)

HTTP是基于TCP/IP通信协议来传递数据,本篇接着上一篇的内容。

一、TCP/IP 协议

TCP/IP协议(Transmission Control Protocol/Internet Protocol),即传输控制协议因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。

五层网络模型

TCP/IP协议族从上到下分为5层:应用层,传输层,网络层,链路层,物理层。这样做的好处在于,将每层之间的接口设计好之后,每个层次的内部设计就可以自由改动了。下面是对各层作用的简要介绍:

物理层

主要作用是定义物理设备如何传输数据(硬件上)

数据链路层

在通信的实体间建立数据链路连接(软件上),负责接收IP数据包并通过网络发送,或者从网络上接收物理帧,抽出IP数据包,交给网络层

网络层

该层核心是IP协议,为数据在结点之间传输创建逻辑链路

传输层

让应用程序之间实现通信。协议:TCP,UDP

应用层

提供应用服务。协议:HTTP,FTP,SSH

二、URI、URL和URN

定义
  • URI :Universal Resource Identifier 统一资源标志符,采用一种特定语法标识一个资源的字符串。所标识的资源可能是服务器上的一个文件。不过,也可能是一个邮件地址、新闻消息、图书、人名、Internet主机或者任何其它内容。通过URI找到资源是通过对名称进行标识,这个名称在某命名空间中,并不代表网络地址。
  • URL :Universal Resource Locator 统一资源定位符,唯一地标识一个资源在Internet上的位置。不管用什么方法表示,只要能定位一个资源,就叫URL。一个标准的URL必须包括:protocol、host、port、path、parameter、anchor。
  • URN :Universal Resource Name 统一资源名称,通过特定命名空间中的唯一名称或ID来标识资源,它命名资源但不指定如何定位资源。
三者关系

区别
  • URI:着重指的是一种资源
  • URL:不仅标识了一种资源,而且对资源进行了定位
  • URN:着重用名称定位一个资源,而不定位资源位置
举个例子
去帮我寻找一个人(URI);
如果用身份证号+名字去找就是URN(身份证号+名字 只标识了人这个资源,但无法确认资源的地址);
如果用地址:XX省XX市XX区XX单元XX房间的住户 就是URL(不仅标识人这个资源,而且定位了其地址)

三、Cookie与Session

HTTP协议是无状态的,它不会记录之前请求的状态。比如,第一次和服务器交互登录成功后,第二次发送请求服务器仍然不知道这是哪个用户。Cookie和Session出现就是为了解决这个问题。

Cookie

第一次和服务器交互登录成功后,服务器会把用户的标识存到Cookie中返回给浏览器。第二次请求,客户端带上Cookie发送给服务端,服务端收到Cookie就知道是哪个用户请求了。

Cookie储存在客户端,不同浏览器对储存大小有不同限制,一般不超过2KB。因此Cookie适合储存少量数据。

特点:
  • 通过Set-Cookie设置
  • 下次请求自动带上
  • 键值对,可以设置多个
属性:
  • max-age和expires设置过期时间
  • Secure(指只在https的时候发送)
  • HttpOnly(设置无法通过document.cookie访问,安全性考虑)
Session

Session和Cookie的作用类似,都可以做用户的状态管理。Session储存在服务端,储存的大小和数据形式不受限制。

cookie与session的主要区别
对比CookieSession
储存位置储存在客户端储存在服务器
安全性不安全安全
有效期
对服务器压力
1 人推荐

声明:本文原创发布于加藤非博客,转载请注明出处:加藤非博客 jiatengfei.com 。如有侵权,请联系本站删除。

加藤非博客
请先登录再发表评论
  • 最新评论

  • 总共0条评论