HTTP(HyperText Transfer Protocol,超文本传输协议)
TCP/IP
TCP/IP 协议族按层次分别分为以下 4 层:数据链路层、网络层、传输层和应用层。
应用层协议包括:FTP(FileTransfer Protocol,文件传输协议)、DNS(Domain Name System,域名系统)、HTTP 等。
传输层协议:TCP(Transmission ControlProtocol,传输控制协议)和 UDP(User Data Protocol,用户数据报协议)。
与 HTTP 密不可分的协议
IP、TCP 和 DNS 协议共同
URI 与 URL
URI(Uniform Resource Identifier,统一资源标识符)
URL(UniformResource Locator,统一资源定位符)
HTTP 请求报文
请求报文是由请求方法、请求 URI、协议版本、可选的请求首部字
段和内容实体构成的。
GET / HTTP/1.1
Host: www.baidu.com
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36
DNT: 1
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
HTTP 响应报文
响应报文基本上由协议版本、状态码、状态码描述、可选的响应首部字段以及实体主体构成。
HTTP/1.1 200 OK
Server: bfe/1.0.8.14
Date: Sun, 17 Apr 2016 14:04:21 GMT
Content-Type: text/html;charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Cache-Control: private
X-Powered-By: HPHP
X-UA-Compatible: IE=Edge,chrome=1
Content-Encoding: gzip