SlideShare a Scribd company logo
1 of 18
HTTP in Development
2017-06-02
Hypertext transfer protocol超文本传输协议
基于 TCP 连接, 默认端口 80应用层协议
定义客户端与 Web 服务器通讯的过程请求—响应模式
HTTP/1.0 HTTP/1.1 HTTP/2.0协议版本
消息头、状态行、实体内容……请求与响应
Wireshark信息查看
1
2
3
4
5
6
访问一个 Web 页面时发生了什么?
一个经典问题:
You enter a URL into the
browser
The browser sends a HTTP
request to the web server
The server sends back a
HTML response
The browser looks up the IP
address for the domain name
The server ‘handles’ the
request
应用层
网络层
传输层
链路层
物理层
Browser Server
HTTP 请求
GET POST
IP 报文
寻址
TCP 握手
流数据
路由表
ARP 寻址
CDN
负载均衡
请求行
请求方式、资源路径、协议版本
请求方式:POST、GET、HEAD、
OPTIONS、DELETE、TRACE、PUT、
CONNECT
消息头
Accept: text/html,image/* 客户端识别文件类型
Accept-Charset: ISO-8859-1 客户端字符集
Accept-Encoding: gzip 客户端支持编码类型 gzip 压缩格式
Accept-Language:zh-cn 客户端语言
Host: www.itcast.com:80 访问服务器地址(虚拟主机)
If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT
Last-Modified 控制缓存
Referer: http://www.itcast.com/index.jsp 代表当前网页的来
源 防止盗链
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT
5.0) 浏览器类型(文件下载时,不同浏览器进行不同处理)
Connection: close/Keep-Alive 请求后连接是关闭还是保持
Date: Tue, 11 Jul 2000 18:23:51 GMT 请求时间
请求体
多个数据之间用 & 分隔
HTTP Request
状态行 消息头
Location: http://www.here.com
Server: Apache 服务器类型
Content-Encoding: gzip 支持 gzip 压缩格式
Content-Lengh: 80
Content-Language: zh-cn
Content-Type: text/html; charset=GB2312
Last-Modified
Expires: -1
Cache-Control: no-cache 禁用缓存
Pragma: no-cache
Connection: close/Keep-Alive
Date: Tue, 11 Jul 2000 18:23:51 GMT 请求时间
实体内容
HTML
Json
HTTP Response
100~199
表示成功接收请求,要求客户端继续提交下一次请
求才能完成整个处理过程
200~299
表示成功接收请求并已完成整个处理过程,常用
200
300~399
为完成请求,客户需进一步细化请求。例如,请求
的资源已经移动一个新地址,常用302、307和
304
400~499 客户端的请求有错误,常用404
500~599 服务器端出现错误,常用500
应用
Web 应用
移动应用
Tablet
App
网站即软件
互联网环境中使用的软件互联网软件架构
Browser
前端RESTful API 架构
后端
Roy Thomas Fielding(HTTP设计者、Apache作者)
RESTful API
Representational State Transfer 表现层状态转化
(1)每一个URI代表一种资源;
(2)客户端和服务器之间,传递这种资源的某种表现层;
(3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"。
API First
功能 => 服务
Get Post
Authorization first OAuth 2.0
Advanced Rest Client 浏览器调试
Wireshark
TOOLS
部署在专用域名下,加上版本号,https://api.example.com/v1/域名,版本
具体地址,代表资源,不能有动词路径 ( Endpoint )
GET、PUT、DELETE 幂等,POST、PATCH 创建和修改资源HTTP 动词
使用 limit、offset、page、sortby、order 等进行过滤过滤信息
具体情况区分具体状态码状态码
返回精确错误信息错误信息
1
2
3
4
5
6
设计 API
THANK YOU FOR WATCHING
PRESENTED BY Zhongwei

More Related Content

Similar to Http in development

計算機概論 (2)有音樂
計算機概論 (2)有音樂計算機概論 (2)有音樂
計算機概論 (2)有音樂
曲肯 余
 
計算機概論 (2)
計算機概論 (2)計算機概論 (2)
計算機概論 (2)
曲肯 余
 
Http协议介绍
Http协议介绍Http协议介绍
Http协议介绍
Sanji Zhang
 
real-time Web的運用
real-time Web的運用real-time Web的運用
real-time Web的運用
Robin Su
 

Similar to Http in development (20)

Web开发与运维安全浅见
Web开发与运维安全浅见Web开发与运维安全浅见
Web开发与运维安全浅见
 
計算機概論New
計算機概論New計算機概論New
計算機概論New
 
計算機概論 (2)有音樂
計算機概論 (2)有音樂計算機概論 (2)有音樂
計算機概論 (2)有音樂
 
計算機概論 (2)
計算機概論 (2)計算機概論 (2)
計算機概論 (2)
 
Web开发基础
Web开发基础Web开发基础
Web开发基础
 
Intro to REST
Intro to RESTIntro to REST
Intro to REST
 
Intro to rest
Intro to restIntro to rest
Intro to rest
 
2015.07.15 新人報告(1)
2015.07.15 新人報告(1)2015.07.15 新人報告(1)
2015.07.15 新人報告(1)
 
Http协议介绍
Http协议介绍Http协议介绍
Http协议介绍
 
Async programming-2014-08-22-pub
Async programming-2014-08-22-pubAsync programming-2014-08-22-pub
Async programming-2014-08-22-pub
 
Ch01 簡介Web應用程式
Ch01 簡介Web應用程式Ch01 簡介Web應用程式
Ch01 簡介Web應用程式
 
After Yahoo 34 Rules -- 网站性能优化新进展
After Yahoo 34 Rules -- 网站性能优化新进展After Yahoo 34 Rules -- 网站性能优化新进展
After Yahoo 34 Rules -- 网站性能优化新进展
 
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
 
Traffic server 管理员指南v1.0
Traffic server 管理员指南v1.0Traffic server 管理员指南v1.0
Traffic server 管理员指南v1.0
 
PHP & AppServ
PHP & AppServPHP & AppServ
PHP & AppServ
 
gRPC - 打造輕量、高效能的後端服務
gRPC - 打造輕量、高效能的後端服務gRPC - 打造輕量、高效能的後端服務
gRPC - 打造輕量、高效能的後端服務
 
real-time Web的運用
real-time Web的運用real-time Web的運用
real-time Web的運用
 
Res tful api design tw-2.0
Res tful api design tw-2.0Res tful api design tw-2.0
Res tful api design tw-2.0
 
《网页设计与制作》第一章:网页制作基础
《网页设计与制作》第一章:网页制作基础《网页设计与制作》第一章:网页制作基础
《网页设计与制作》第一章:网页制作基础
 

Http in development