HTTP协议入门

来源:互联网 发布:creis中指数据城市版 编辑:程序博客网 时间:2024/06/04 19:44

版本说明

一. 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.htmlRequest Method:GETStatus Code:200 OKRemote Address:116.251.204.42:80Referrer Policy:no-referrer-when-downgrade

请求格式:

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-Encoding:gzip, deflate, sdchAccept-Language:zh-CN,zh;q=0.8Cache-Control:max-age=0Connection:keep-aliveCookie:_ga=GA1.2.81864988.1486909163; _gid=GA1.2.993479087.1495547947Host:www.ruanyifeng.comIf-Modified-Since:Thu, 18 May 2017 00:37:52 GMTIf-None-Match:"3dc9a-54fc19d6cf800-gzip"Referer:http://www.ruanyifeng.com/blog/2016/08/http.htmlUpgrade-Insecure-Requests:1User-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:bytesConnection:Keep-AliveContent-Encoding:gzipContent-Length:48951Content-Type:text/htmlDate:Tue, 23 May 2017 14:03:26 GMTETag:"3dc9a-54fc19d6cf800-gzip"Keep-Alive:timeout=5, max=100Last-Modified:Thu, 18 May 2017 00:37:52 GMTServer:ApacheVary:Accept-Encoding

响应格式:

Accept-Ranges:bytesConnection:Keep-AliveContent-Encoding:gzipContent-Length:48951Content-Type:text/htmlDate:Tue, 23 May 2017 14:03:26 GMTETag:"3dc9a-54fc19d6cf800-gzip"Keep-Alive:timeout=5, max=100Last-Modified:Thu, 18 May 2017 00:37:52 GMTServer:ApacheVary: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-199 100-101 信息提示 200-299 200-206 成功 300-399 300-305 重定向 400-499 400-415 客户端错误 500-599 500-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. 浏览器发送异步请求;
原创粉丝点击