HTTP协议入门

版本说明

一. HTTP 0.99版本

命令:GET
用法: GET /index.html
响应:

<html>
  <body>Hello World</body>
</html>

二. HTTP 1.0版本

  1. 命令: GET、POST、HEAD
  2. 通用头部:主要用于传达关于消息本身的信息,而不是它所携带的内容。
Request URL:http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html
Request Method:GET
Status Code:200 OK
Remote Address:116.251.204.42:80
Referrer Policy:no-referrer-when-downgrade

请求格式:

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:zh-CN,zh;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Cookie:_ga=GA1.2.81864988.1486909163; _gid=GA1.2.993479087.1495547947
Host:www.ruanyifeng.com
If-Modified-Since:Thu, 18 May 2017 00:37:52 GMT
If-None-Match:"3dc9a-54fc19d6cf800-gzip"
Referer:http://www.ruanyifeng.com/blog/2016/08/http.html
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36Accept-Ranges:bytes
Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:48951
Content-Type:text/html
Date:Tue, 23 May 2017 14:03:26 GMT
ETag:"3dc9a-54fc19d6cf800-gzip"
Keep-Alive:timeout=5, max=100
Last-Modified:Thu, 18 May 2017 00:37:52 GMT
Server:Apache
Vary:Accept-Encoding

响应格式:

Accept-Ranges:bytes
Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:48951
Content-Type:text/html
Date:Tue, 23 May 2017 14:03:26 GMT
ETag:"3dc9a-54fc19d6cf800-gzip"
Keep-Alive:timeout=5, max=100
Last-Modified:Thu, 18 May 2017 00:37:52 GMT
Server:Apache
Vary:Accept-Encoding
  1. 详细说明
    Content-Encoding:数据的压缩方法
    Content-Type:数据格式

  2. 缺点

HTTP/1.0 版的主要缺点是,每个TCP连接只能发送一个请求。发送数据完毕,连接就关闭,如果还要请求其他资源,就必须再新建一个连接。

解决方法:Connection: keep-alive

三、 HTTP/1.1

  1. 持久连接
  2. 管道机制
  3. Content-Length 字段

HTTP基础

一、HTTP方法

HTTP方法描述
GET从服务器向客户端发送命名资源
PUT将客户端的数据存储到一个命名的服务器资源中去
DELETE从客户端删除命名资源
POST将客户端数据发送到一个服务器网关应用程序
HEAD仅发送命名资源相应中的HTTP头部

二、状态码

整体范围已定义范围分类
100-199100-101信息提示
200-299200-206成功
300-399300-305重定向
400-499400-415客户端错误
500-599500-505服务器错误

三、网络模型

模型层次描述例子
HTTP应用层DHCP(v6) DNS FTP Gopher HTTP(SPDY、HTTP/2) IMAP4 IRC NNTP XMPP POP3 SIP SMTP SNMP SSH TELNET RPC RTCP RTP RTSP SDP SOAP GTP STUN NTP SSDP
TCP传输层TCP(T/TCP · Fast Open) UDP DCCP SCTP RSVP PPTP TLS/SSL
IP网络层IP(v4·v6) ICMP(v6) IGMP IS-IS IPsec BGP RIP OSPF RARP
链路层数据链路层Wi-Fi(IEEE 802.11) ARP WiMAX(IEEE 802.16) ATM DTM 令牌环 以太网 FDDI 帧中继 GPRS EV-DO HSPA HDLC PPP PPPoE L2TP ISDN SPB STP
物理网络硬件物理层以太网 调制解调器 电力线通信 同步光网络 G.709 光导纤维 同轴电缆 双绞线

四、从输入URL到页面加载完成的过程中都发生了什么事情

  1. 浏览器查找域名的IP地址:这一步包括DNS具体的查找过程,包括:浏览器缓存->系统缓存->路由器缓存…
  2. 浏览器向web服务器发送一个HTTP请求;
  3. 服务器的永久重定向响应;
  4. 浏览器跟踪重定向地址;
  5. 服务器处理请求;
  6. 服务器返回一个HTTP响应;
  7. 浏览器显示HTML;
  8. 浏览器发送请求获取嵌入在HTML中的资源(如图片、音频、视频、CSS、JS等等);
  9. 浏览器发送异步请求;
相关推荐
©️2020 CSDN 皮肤主题: 撸撸猫 设计师:马嘣嘣 返回首页