网络相关概念笔记

http 和 HTTPS的区别

HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

区别如下:

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

cookie vs  session

摘自: Cookie/Session机制详解

3种web会话管理的方式

常用的会话跟踪技术是cookie与session。

1. cookie通过在客户端记录信息确定用户身份,session通过在服务器端记录信息确定用户身份。

2. cookie

Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。

cookie对象使用key-value属性对的形式保存用户状态,一个cookie对象保存一个key-value对,一个request或者response同时使用多个cookie。

cookie具有不可跨域名性。也就是访问Google只会携带Google的cookie,而不会携带baidu的cookie。同理,Google也只能操作Google的cookie。

限制:cookie功能需要浏览器的支持。如果浏览器不支持cookie或者把cookie禁止了,cookie功能就会失效。

3. session

session是服务器端使用的一种记录客户端状态的机制,使用上比cookie简单一些,相应的也增加了服务器的存储压力。

客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是session。客户端浏览器再次访问时只需要从该session中查找该客户的状态就可以了。

 

URI vs URL vs URN

URI,uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。

URL,uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。类似于住址,它告诉你一种寻找目标的方式。比如: http://bitpoetry.io/posts/hello.html

URN,uniform resource name,统一资源命名,是通过名字来标识资源。类似于书籍的ISBN码。尽管没有告诉你用什么方式或者到什么地方去找目标,但是你有足够的信息来检索到它。比如:bitpoetry.io/posts/hello.html#intro

也就是说,URI是以一种抽象的,高层次概念定义统一资源标识,而URL和URN则是具体的资源标识的方式。URL和URN都是一种URI。

 

HTTP 1.0  vs  HTTP 1.1

HTTP 1.0: 浏览器的每次请求都要求建立一次单独的连接,在处理完每一次的请求后,就自动释放连接。

HTTP 1.1: 可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。

 

TCP/IP

参考:OSI七层与TCP/IP五层网络架构详解

关于TCP/IP的学习,找到一个超级好的学习博客集合:TCP/IP详解学习笔记

应用层

协议:Telnet 、FTP 、SMTP、SNMP、 DNS 、HTTP

传输层

协议: TCP 、UDP、UGP

网络层

协议:网际协议IP、地址解析协议ARP、网际控制消息协议ICMP、互联组管理协议IGMP

设备:三层交换机、路由器

链路层

协议:ARP、RARP、 PPP、MTU

设备:网卡、网桥、二层交换机

物理层

设备:中继器(repeater)、集线器(hub)

返回码

返回码是一个3位数,第一位定义的返回码的类别,总共有5个类别,它们是:

- 1xx: Informational - Request received, continuing process

- 2xx: Success - The action was successfully received,
    understood, and accepted
    
- 3xx: Redirection - Further action must be taken in order to
    complete the request

- 4xx: Client Error - The request contains bad syntax or cannot
    be fulfilled
    
- 5xx: Server Error - The server failed to fulfill an apparently
    valid request

 

posted @ 2016-07-12 08:48  微微微笑  阅读(215)  评论(0编辑  收藏  举报