HTTP

HTTP操作过程

  1. 建立TCP连接
  2. HTTP请求报文,请求文档
  3. HTTP响应报文,响应文档
  4. 释放TCP连接

这里写图片描述

HTTP版本

HTTP/1.0 缺点:非持续连接。每请求一个稳定,就要有两倍的RTT开销。
HTTP/1.1 优点:持续连接。服务器在发送响应后,在一段时间内保持这条连接。同一浏览器和该服务器可以继续在该连接上,传送后续的HTTP请求报文和响应报文。

HTTP报文结构

这里写图片描述


这里写图片描述

请求报文的方法

方法(操作)意义
OPTION请求一些选项的信息
GET请求读取由URL所标志的信息
HEAD请求读取由URL所标志的信息的首部
POST给服务器添加信息(注释等)
PUT在指明的URL下存储一个文档
DELETE删除指明的URL所标志的资源
TRACE用来进行环回测试的请求报文
CONNECT用于代理服务器



HTTP请求报文的开始行:
GET http://www.baidu.com HTTP/1.1

响应报文的状态码

  • 200:响应成功
  • 301:永久性转移
  • 302:暂时性转移
  • 400:客户端有语法错误,不能被服务器识别
  • 403:服务器收到请求,但拒绝提供服务
  • 404:请求资源不存在
  • 500:服务器内部错误

在浏览器输入网址,回车

  1. 浏览器分析URL
  2. 浏览器向DNS请求解析网址的IP地址
  3. 浏览器与服务器建立TCP连接(80端口)
  4. 浏览器发出取文件命令:GET /baidu.com
  5. 服务器给出响应,把文件发送给浏览器
  6. 释放TCP连接
  7. 浏览器显示网页

HTTP是无状态的,但是某些时候,服务器希望识别用户。可以在HTTP中使用Cookie来跟踪用户。


  1. 用户A浏览某个网站,该网站服务器就A产生一个唯一的识别码,并在服务器的后端数据库产生一个项目。
  2. 在给A的HTTP响应报文中,添加Set-cookie的首部行。Set-cookie:123456
  3. A收到响应后,在特定cookie文件中添加一行:服务器主机名 + 识别码
  4. A继续浏览这个网站时,每一个HTTP请求报文,浏览器会从cookie文件中取出这个网站的识别码,放到首部行中:Cookie:123456
  5. 网站能够跟踪A在该网站的活动。

说明

  1. HTTP协议是无状态的,简化了服务器的设计,使服务器更容易支持大量并发的HTTP请求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值