计算机网络笔记之4(1)HTTP协议

参考文章:应用层

HTTP像是FTP和SMTP协议的结合。只使用TCP连接,但没有控制连接和数据连接这种ftp分开的连接。在c,s之间仅仅有数据连接通道。这点类似SMTP协议。而且HTTP传输数据很类似MIME格式。
client发送请求就像SMTP中的用户发邮件,
server回送响应就像SMTP中的回复邮件。
传输的信息以类MIME形式借助TCP连接传输。

过程

  1. 浏览器和服务器建立TCP连接
  2. 浏览器向服务器发出HTTP请求,指定要传输的页面。
  3. 服务器响应,包括状态码和页面文档
  4. 浏览器断开TCP连接。

HTTP信息

  • request
  • response
请求信息
  1. 请求行:定义了请求类型/方法(GET,POST,PUT,HEAD),请求资源(URL),HTTP版本
    请求方法:
    GET:客户端想要从服务器端查找一个文档(查看)
    文档地址在URL中被给出。
    POST:客户端想要请求为服务器端提供一些信息(增)
    PUT:覆盖服务器端指定文档的内容(改)
    HEAD:同GET但是只想要server的信息,不想要文档内容(没有body)
  2. headers
  3. 空白行
  4. body(数据)
响应信息
  1. 状态行(status line):定义了响应数据的状态:HTTP版本+状态码(类似FTP,SMTP 200 ok 404 not found)+状态短语
  2. headers
    用于交换client和server的额外信息
    header_name:空格 header_value
    有三个
  • general headers

给出信息的一般情况(时间,cache控制,连接,MIME版本,更新信息)

  • request/response headers

(以request headers为例:user-agent(标识客户软件(浏览器)),from(显示用户的email地址信息),accept(接收数据的类型,譬如Img/gif,* / *)等)

  • entity headers

给出文档大致信息

  1. 空白行
  2. body

浏览器架构

控制器:HTTP,FTP,TELNET,SMTP…
解释器:HTML(超文本内容,音视频图像-----解码器—>浏览器可打开的二进制文件),JAVA
驱动:解释器的输出经过驱动处理可以显示。

工作过程

客户端(浏览器程序)-----tcp连接-------Server服务器程序
其中HTTP使用这条tcp连接,Server端的端口为80(default‘’)

  1. 浏览器分析URL
  2. 浏览器向DNS请求解析域名的IP地址
  3. DNS解析出IP,浏览器建立与服务器的TCP连接(IP:80)
  4. 浏览器发出GET请求 GET /protocols/HTTP-NG/index.html
  5. 服务器给出响应,将文件发回给浏览器
  6. TCP连接释放
  7. 浏览器渲染完毕,显示文档

超文本:只包含文本
超媒体:可以包含图片,音视频

信息被存放在文档集合里,他们彼此使用指针相互连接,这就是超文本环境。

<a href = "  "> xxx </a>

高速缓存

当我们多次请求一个服务器上的同一个文件(譬如是一个视频),频繁请求浪费带宽而且效率低。高速缓存相当于是一个独立的服务器(类似FTP服务器,邮件服务器,当做一个浏览器缓存服务器)。在PC要访问远端server的文档时,先去高速缓存里寻找是否有这个文档。(此时高速缓存是server,PC是client)如果有,直接返回给PC。如果没有高速缓存(作为clinet)向Server发出请求,建立起TCP连接,然后访问文档,返回给client的PC。

web文档类型

  1. 静态:创建时就固定文档内容(只能获得副本,不会被修改)
  2. 动态:当浏览器请求文档时,server端的应用程序运行,文档才会被创建。(根据浏览器提供的参数可能不同,生成的文档也不同)
  3. active活动文档(不在server上运行):client需要一个程序可以在client本地运行。这种发个程序,就是active文档。以bytecode的形式,发送的是程序的拷贝。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值