HTTP简介

2016-08-29  本文已影响30人  LJCoder

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/

上一篇 下一篇

猜你喜欢

热点阅读