首先了解一下网络传输的一些知识,OSI网络七层协议和TCP/IP的四层协议
OSI七层协议从低到高分别有物理层、数据链路层、网络层、传输层、表示层、会话层、应用层。底三层分别面向通过网络的端到端的数据流。高四层主要是面向应用程序的功能。OSI七层模型主要是一个理论模型,现实应用中主要是做一个层次参考。物理层主要是为数据链路层提供屋里链接,在其上串行传输比特流。数据链路层主要是负责网络节点间的线路上通过检测、流量控制盒重发等手段,无差错的传输以帧为单位的数据。网络层是将数据分组从源端系统到目标端系统传输,选择适合的路由和交换点,将源传输层传下来的分组信息正确无误的按照地址找到目的地,并缴费相应的传输层,即完成网络的寻址 。传输层 是高低层之间衔接的接口层。应用层直接面型用户,只要任务是为用户提供应用的接口,即提供不同计算机的文件传送、访问与管理、电子邮件的内容处理、不同计算机通过网络交互访问的虚拟终端功能。
TCP/IP协议族,是广域网开发的网络体系结构和协议标准,TCP/IP协议是网络中使用的基本的通信协议。通常所说的TCP/IP是一个协议族不单单指传输协议TCP和网际协议IP,包含上百个各种功能的协议,如远程登录,文件传输和电子邮件等。
包含:
TCP Transport Control Protocol 传输控制协议
IP Internetworking Protocol 网间协议
UDP User Datagram Protocol 用户数据包协议
ICMP Internet Control Message Protocol 互联网控制信息协议
SMTP Simple mail transfer protocol 简单邮件传输协议
SNMP simple network manage protocol简单网络管理协议
FTP file trnsfer protocol文件传输协议
ARP address resolution protocol 地址解析协议
从协议分层模型方面讲,TCP/IP由四层组成,分别为数据链路层(arp),网络层(ip,icmp),传输层(tcp、udp),应用层(ftp、smtp、dns、http、tftp、telnet)。
socket是针对TCP和UDP编程的接口,可以借助它建立TCP链接等等。而http是个应用层协议,它是集上也是建立在TCP协议之上
socket就像一个发动机,提供了网络通信的能力,http像轿车,提供了具体的方式。
socket是对tcp/ip协议的封装,socket本身不是协议,而是一个调用接口,通过socket我们才能使用tcp/ip协议,socket的出现只是使得程序员更方便的使用tcp/ip协议栈而已。
HTTP协议是网络七层模型中的应用层协议,是建立在TCP/IP协议族基础之上的用来规范web浏览器和web服务器通信规则的一个协议。绝大多数的web开发都是基于http协议上的web应用,目前版本HTTP1.1。规定了浏览器像web服务器请求的格式和web服务器响应浏览器请求的格式。
HTTP请求包含:请求行、消息报头、请求正文
HTTP响应包含:状态行、消息报头、响应正文
了解一些浏览器的知识,浏览器的核心部分就是“Rendering Engine”,解释引擎,我们一般习惯称之为浏览器的内核,负责对网页语法的解释(HTML、javascript)并渲染网页。渲染引擎决定了浏览器如何显示网页的内退荣一级页面的格式信息。所以一般做前端页面的时候都会涉及到浏览器兼容性问题。目前主要内核有Trident、Gecko、Presto、Webkit。基于各种内核的浏览器:
1.基于Trident内核的主流浏览器
世界之窗(The World)
傲游浏览器(Maxthon)
腾讯TT(Tencent Traveler)
爱帆浏览器(Avant Browser)
360安全浏览器(360SE)
搜狗浏览器(兼容模式)(Sougou Explorer)
瑞影浏览器(Rayying)
2.基于Gecko内核的主流浏览器
Firefox浏览器
Redfox浏览器
Madfox浏览器
DR.Orca浏览器
K-Meleon浏览器
3.基于Presto内核的浏览其
Opera 9.5 之前版本,Opera 9.5 之后版本是基于Kestrel内核
4.基于Webkit内核的浏览器
Google Chrome
Apple Safari 浏览器
5.基于多种内核的浏览器
傲游3:Webkit+IE
QQ浏览器:Trident+Webkit
Lunascape6:Trident+Gecko+Webkit
360极速浏览器