博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
读书笔记:《图解HTTP》第二章 HTTP协议
阅读量:6903 次
发布时间:2019-06-27

本文共 1180 字,大约阅读时间需要 3 分钟。

HTTP协议用途

HTTP协议用于客户端和服务器端之间的通信

  • 客户端:请求访问文本或图像等资源的一端
  • 服务器端: 提供资源响应的一端

在两台计算机之间,必有一端担任客户端角色,另一端担任服务器端角色,有时角色可能会互换,HTTP协议能够明确区分哪端是客户端,哪端是服务器端

通过请求和响应的交换达成通信

由客户端发出请求报文,服务器端回复响应报文

请求报文

请求报文的构成

  • 请求方法
  • 请求URI(请求访问的资源对象)
  • 请求首部字段【可选】
  • 内容实体【可选】

请求报文的构成

响应报文

响应报文的构成

  • 协议版本
  • 状态码
  • 解释状态码的原因短语
  • 响应首部字段【可选】
  • 内容实体【可选】

响应报文的构成

注意:请求和响应报文的内容实体前都空一行

HTTP协议是无状态协议

HTTP协议自身不具备保存之前发送过的请求和响应的功能

为了解决一些需要保存状态的业务场景(比如保存登录状态),HTTP/1.1引入了Cookie技术

请求URI定位资源

HTTP协议使用URI让客户端定位到资源

客户端发送请求时,需要将URI信息包含在请求报文内

https://www.google.cn/index.html为例,指定URI的方式有以下两种:

  • 完整的URI
GET https://www.google.cn/index.html HTTP/1/1
  • 在首部字段Host中写明网络域名或IP地址
GET /index.html HTTP/1/1Host: www.google.cn

HTTP请求方法

HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。

HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

方法 描述
GET 【获取资源】请求指定的页面信息,并返回实体主体。
HEAD 【获得报文首部】类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
POST 【传输实体主体】向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
PUT 【传输文件】从客户端向服务器传送的数据取代指定的文档的内容。
DELETE 【删除文件】请求服务器删除指定的页面。
CONNECT 【要求用隧道协议连接代理】HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS 【询问支持的方法】允许客户端查看服务器的性能。
TRACE 【追踪路径】回显服务器收到的请求,主要用于测试或诊断。

持久连接和管线化

持久连接

当建立一个TCP连接后,可以发送多个请求/响应。除非任意一端提出断开连接,否则一直保持TCP连接状态

管线化

管线化是指客户端不用等待响应可直接发送下一个请求,这样能够同时并行发送多个请求

转载地址:http://ozmdl.baihongyu.com/

你可能感兴趣的文章
MNIST神经网络的训练
查看>>
先制定一个能达到的小目标,比方说先让无人车合法上路
查看>>
线上FullGC频繁的排查
查看>>
SpringBoot无法启动,Process finished with exit code 0
查看>>
搭上AR技术,最新版宜家《家居指南》可以怎么玩?
查看>>
React 入门实例 参考阮一峰博客
查看>>
Valve放大招:300个外设授权+VR头显原型
查看>>
用友iuap入选2016世界互联网领先科技成果50强
查看>>
NAP客户端计算机隔离测试之三
查看>>
Thread.SpinWait 方法和Spin结构
查看>>
fastclick 源码注解及一些基础知识点
查看>>
js基础-表单验证和提交
查看>>
Java动态代理学习2——静态代理和动态代理
查看>>
Android Studio中Spinner控件的数据绑定实现
查看>>
CentOS Rsync服务端与Windows cwRsync客户端实现数据同步
查看>>
TAR包CLONE方式 安装11GR2 RAC数据库 (gril软件root.sh)
查看>>
Office2010 体验之PowerPoint亮点搜索
查看>>
热备份路由协议(HSRP)大型配置之详解
查看>>
修改Active Directory域控制器IP地址
查看>>
千元乐Pad,比奥迪更值得的“A1”
查看>>