计算机网络note_Web和HTTP

1、Web的一些概念

1.1、对象

  •  对象可以是HTML文件、JPG文件、Java小程序、音频、视频等

1.2、Web页

  •  Web页由一些对象组成,包含一个基本的HTML文件,这个HTML文件又包含一些对象的链接(引用);

        Web应用程序

  •  Web应用程序,只需浏览器就可以访问的应用程序;

1.3、URL通用资源定位符

通过URL对对象进行引用,格式:协议、用户口令、主机名、路径名、端口等;


2、HTTP(超文本传输协议)的概念

  • 属于Web的应用层协议;
  • 客户端请求、接收、显示Web对象的浏览器;
  • 服务器响应、发送Web对象;

3、HTTP使用TCP连接

  • 客户端发起与服务器的TCP连接,端口号为80;
  • 服务器接受客户端的TCP连接;
  • 在HTTP客户端(浏览器)与Web服务器之间交换HTTP报文;
  • TCP连接断开; 

4、HTTP非持久/持久连接

4.1、非持久连接(HTTP1.0)

一次TCP连接只能传输一个对象

响应时间:RTT(TCP建立)+RTT(HTTP请求/响应)+ 对象传输时间

4.2、持久连接(HTTP1.1)

一次TCP连接可以传输多个对象

  • 非流水线方式:请求对象,得到响应,下一个请求.....
  • 流水线方式:不必等待响应结束,客户端遇到引用对象就立即请求;(默认方式)

5、HTTP请求报文

5.1、HTTP请求报文格式


  5.2、HTTP方法

HTTP 1.0命令HTTP 1.1命令
GET:获取web服务器数据

GET

POST:向web服务器提交数据POST
HEAD:只请求头部信息

HEAD

PUT:将对象上载到URL字段
DELETE:删除URL字段的对象

6、HTTP响应报文

6.1、HTTP响应报文格式


6.2、常见状态码

  • 200 OK:客户端请求成功
  • 301 Moved Permanently:请求的对象已被永久移除
  • 400 Bad Request:客户端请求有语法错误,不能被服务器所理解
  • 403 Forbidden:服务器收到请求,但是拒绝提供服务
  • 404 Not Found:服务器无法根据客户端的请求找到资源
  • 500 Internal Server Error:服务器发生不可预期的错误
  • 503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常


7、Cookie

HTTP协议本身是一种无状态的协议,服务器并不能知道多次的客户端请求是否是同一个浏览器或用户发出来。

所以作为web服务器必须能够采用某种方式来唯一识别同一个用户,并记录该用户的状态

  • 服务器向客户端发送cookie
  • 浏览器将cookie保存
  • 之后每次http请求浏览器都会将cookie发送给服务器

8、Web缓存

Web缓存器(Web cache)也叫代理服务器(proxy server),它能够代表初始Web服务器来满足HTTP请求的网络实体。它有自己的ROM,并在ROM中保存最近请求过的对象的副本。可以配置用户浏览器以有限指向代理服务器,这样可以分散来自于客户的请求,使得服务器有更好的响应能力;同时还可以大大减少网络上的流量。用户向代理服务器请求对象过程如下:

  • 浏览器创建一个到代理服务器的连接,并发送HTTP请求报文请求一个对象。
  • 代理服务器进行检查,若在本地存储了对象副本则直接发送响应报文返回该对象。
  • 若在代理服务器中没有缓存该对象,它就向该对象初始服务器请求该对象。
  • 在原服务器中获取到对象后,代理服务器会在本地存储一个副本,然后向客户发送该副本。
     

​​​​​​​​​​​​​​

如何检查缓存内容是否最新:在HTTP请求中说明缓存的日期 If-modified-since:<data>

  • 如果缓存过期,HTTP报文返回服务器数据;HTTP/1.0 200 OK <data>
  • 如果缓存有效,直接从缓存中获取数据;HTTP/1.0 304 Not Modified

9、利用网络调试助手向百度发出HTTP请求

GET https://www.baidu.com/?tn=request_28_pg HTTP/1.1
Host:www.baidu.com
Connetion:close

(空行)

(空行)

close后面有两个回车换行,所以有两个空行,看上面的HTTP请求报文格式即知晓;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值