一、HTTP协议简介
1.什么是协议
两个人约定好要去做同一件事情(如:住房协议)
2.HTTP是属于谁和谁的协议
HTTP协议就是浏览器和服务器两个物体之间的协议
3.HTTP协议的英文名称(HyperText Transfer Protocol),意为超文本传输协议
什么是超文本?网页上你所看到的文字,图片,视频都是超文
4.请求格式
浏览器发送请求获取数据,服务器响应请求
5.HTTP协议如何获取数据,通过浏览器后到网页的一个过程?
浏览器输入网址(域名),找到相应的IP地址(IP唯一标识计算机),DNS服务器将域名转化为ip去请求服务器。
谷歌提供的DNS(8.8.8.8)
客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求
一个完整的HTTP请求包括如下内容:一个请求行、若干消息头、以及实体内容
请求格式:
HTTP请求格式主要有四部分组成,分别是:请求行、请求头、空行、消息体,-每部分内容占一行
2.1请求行:
请求行是请求消息的第一行,由三部分组成:分别是请求方法 (GET/POST/DELETE/PUT/HEAD)、请求资源的URI路径、HTTP的版本号
2.2请求头:
请求头中的信息有和缓存相关的头(Cache-Control,If-Modified-Since)、 客户端 身份信息(User-Agent)等等。
2.3消息体:
请求体是客户端发给服务端的请求数据,这部分数据并不是每个请求必须的。
HTTP响应中的常用响应头(消息头)
Location: 服务器通过这个头,来告诉浏览器跳到哪里Server:服务器通过这个头,告诉浏览器服务器的型号Content-Encoding:服务器通过这个头,告诉浏览器,数据的压缩格式Content-Length: 服务器通过这个头,告诉浏览器回送数据的长度Content-Language:服务器通过这个头,告诉浏览器语言环境Content-Type:服务器通过这个头,告诉浏览器回送数据的类型Refresh:服务器通过这个头,告诉浏览器定时刷新 Content-Disposition:服务器通过这个头,告诉浏览器以下载方式打数据 Transfer-Encoding:服务器通过这个头,告诉浏览器数据是以分块方式回送的Expires: -1 控制浏览器不要缓存 Cache-Control: no-cache Pragma:no-cache1. HTTP响应格式:
服务器接收处理完请求后返回一个HTTP相应消息给客户端。HTTP响应消息的格式包括:状态行、响应头、空行、消息体。每部分内容占一行。
3.1状态行
状态行位于相应消息的第一行,有HTTP协议版本号,状态码和状态说明三部分构成。
3.2响应头
响应头是服务器传递给客户端用于说明服务器的一些信息,以及将来继续访问该资源时 的策略。
3.3响应体
响应体是服务端返回给客户端的HTML文本内容,或者其他格式的数据,比如:视频流、 图片或者音频数据。