浏览器,服务器,浏览器和服务器之间的通信协议
1,world wide web
2,协议
(1)HTTP协议
web⾥最重要的协议就是HTTP协议,对于经典的ISO七层⽹络模型来说, HTTP处于最⾼层–应⽤层。HTTP应⽤的模型是client/server 模型。因此对应着两种HTTP消息类型,request和response。客户端向服务器发出请求,服务器向客户端发回请求。下⾯看⼀下两种类型消息的格式:
下⾯分别进⾏解释。
⾸先是HTTP Request Message
请求⾏:请求⾏以⼀个⽅法符号开头,以空格分开,后⾯跟着请求的URI和协议的版本。请求⽅法常见的有:GET POST HEAD PUT等。 消息报头:在普通报头中,有少数报头域⽤于所有的请求和响应消息,但并不⽤于被传输的实体,只⽤于传输的消息。 请求报头允许客户端向服务器端传递请求的附加信息以及客户端⾃⾝的信息。 请求和响应消息都可以传送⼀个实体。⼀个实体由实体报头域和实体正⽂组
成,但并不是说实体报头域和实体正⽂要在⼀起发送,可以只发送实体报头域。实体报头定义了关于实体正⽂(eg:有⽆实体正⽂)和请求所标识的资源的元信息。 POST请求的内容放在实体正⽂中。
HTTP Response Message
状态⾏:最主要的⼀个字段是服务器响应代码。⽐如,200 OK ,400 Bad Request ,401 Unauthorized ,403 Forbidden ,404 Not Found ,500 Internal Server Error ,503 Server Unavailable
消息报头:普通报头和实体报头与 请求报头的类似。有区别的在于响应包头,响应报头允许服务器传递不能放在状态⾏中的附加响应信息,以及关于服务器的信息和对Request-URI所标识的资源进⾏下⼀步访问的信息。
get报⽂:
post报⽂:
HTTP响应报⽂:
(2)TCP协议
HTTP协议基于TCP协议,也就是HTTP的所有内容将作为TCP的实体被封装到TCP报⽂⾥⾯。TCP协议是⾯向连接,可靠的传输机制。也就是说客户端在与服务器交互数据的过程中会有⼀个连接建⽴和释放的过程,看上⾯的Http头部字段可以看到相关的字段。TCP有强⼤的窗⼝机制能够适应发送⽅和接收⽅的发送接收能⼒,也能根据整个⽹络状况进⾏调整。
(3)IP协议
IP协议处于整个TCP/IP协议族的承上启下地位。我们知道因特⽹上主机是靠⼀个32位的ip地址来定位的,HTTP⽤的URL也算是地址,但是⽐较⾼级,IP协议是理解不了的,所以需要⼀个从URL到IP的转换,这个过程通过DNS(域名查询系统)协议完成。我们⽤的每⼀台电脑上都配置了DNS服务器的地址,如果没有配置那么你的⽹关默认充当了,当我们有⼀个URL想知道对应的IP时就需要向DNS服务器发送查询请求了,它会把查询的结果发回。
2,浏览器
在web的世界⾥最不能少的⾓⾊就是浏览器。前⾯我们说到HTTP协议,HTTP消息有两种,request和response。浏览器的主要⼯作就是发送http request报⽂和接收处理http response报⽂。
3, 服务器
静态网页和动态网页的概念和区别服务器有两个层级的概念,它可以是机器,它上⾯存着⼀个站点的所有东西,也可以是软件,安装在⼀个也叫做服务器的机器上,帮助这个机器分发⽤户想要的东西。
服务器最基本的功能就是响应客户端的资源请求。服务器⾸先会侦听80端⼝,来了http请求,就根据请求进⾏处理,请求⼀个图⽚那就根据路径到资源发回,请求静态html页⾯也是如此,如果请求的是像php这样的动态页⾯应该先调⽤php编译器(或是解释器吧)⽣成html代码,然后返回给客户端。当然还要解决的⼀个问题就是并⾏问题以应对⼤访问量。