HTTP简介

1. HTTP是什么?

HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准,通常,由HTTP客户端发起一个请求,创建一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端的请求。一旦收到请求,服务器会向客户端返回一个状态,比如"HTTP/1.1 200 OK",以及返回的内容,如请求的文件、错误消息、或者其它信息。

2. Request Header (请求头)

在chrome浏览器中打开百度,在网页空白处右键,选择Network,选中当前网址,点击Headers,如下图所示,我们就可以看到当前网页的请求信息。

接下来我们点击Headers下面的Request Headers,展开请求头的内容,Request Headers再点击右边的view source切换显示模式,可以看到如下内容:

请求行:包含请求方法,请求资源路径,HTTP协议版本

GET / HTTP/1.1

请求头:

Host:www.baidu.com 主机地址

Connection: keep-alive 是否保持连接

Cache-Control: max-age=0 缓存机制

Upgrade-Insecure-Requests: 1

User-Agent: Mozilla/5.0 ... Chrome/52.0.2743.116 Safari/537.36  客户端类型,软件环境

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 客户端支持的数据类型

Accept-Encoding: gzip, deflate, ... 客户端支持的压缩格式

Cookie: BAIDUID …

请求体:客户端发送给服务端的数据,比如文件数据

3. Response Header(响应头)

状态行: 包含HTTP版本,状态码,状态英文描述

HTTP/1.1 200 OK

响应头:

Server: nginx 服务器类型

Content-Type: text/html; charset=UTF-8 服务器返回数据类型

Transfer-Encoding: chunked 传输编码模式,chunked表示分块编码

Connection: keep-alive 保持连接

Keep-Alive: timeout=5 连接超时

Vary: Accept-Encoding

X-Powered-By: PHP/5.5.30

Cache-Control: private, must-revalidate

Date: Mon, 29 Aug 2016 08:01:52 GMT 响应的时间

ETag: W/"95fb31cafa3507d01a7dc1f0e90c10cf"

响应体:服务器返回给客户端的具体数据

4. HTTP 1.1 与 1.0的连接问题

HTTP 1.1 支持长连接,1.0不支持长连接,响应结束后就会断开连接。

首发地址:http://www.ljcoder.com/http%E7%AE%80%E4%BB%8B/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用...
    lhg_serven阅读 255评论 0 0
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 8,440评论 6 152
  • API定义规范 本规范设计基于如下使用场景: 请求频率不是非常高:如果产品的使用周期内请求频率非常高,建议使用双通...
    有涯逐无涯阅读 2,597评论 0 6
  • 望着这一张不成样子的照片,我心窃喜。 校园渐渐变得安静了,十点一过,该是学生熄灯休息的时间点了。 ...
    一个南瓜先生阅读 858评论 0 3