学习笔记之图解HTTP(一)

内容均来自《图解HTTP》一书,本博只是本人的学习摘要。

第一章 网络基础

TCP/IP通信传输流

  • 发送端从应用层往下走,接收端从链路层往上走。
  • 应用层(HTTP协议)发送请求,传输层(TCP协议)将请求分割并标记序号,网络层(IP协议)增加作为通信目的地的MAC地址。
  • 发送端每经过一层打上该层的首部信息,接收端每经过一层消去对应首部。

IP协议

  • IP地址:节点被分配到的地址,可以变换。
  • MAC地址:网卡的固定地址,基本不会更改
  • 两者可以进行配对

TCP协议

  • TCP位于传输层,提供可靠的字节流服务。确保传输可靠性,TCP协议采用三次握手(three-way handshacking)策略。
  • TCP标志SYN ACK

DNS服务

  • 存在于应用层,提供域名到IP地址之间的解析服务

各中协议与HTTP协议关系图

URI和URL

  • URI(Uniform Resource Identifier)统一资源标识符,标识某一互联网资源
  • URL(Uniform Resource Locator)统一资源定位符,标识资源的地点
  • URL是URI的子集

几种URI的例子

ftp://ftp.is.co.za/rfc/rfc1808.txt 
http://www.ietf.org/rfc/rfc2396.txt 
ldap://[2001:db8::7]/c=GB?objectClass?one 
mailto:John.Doe@example.com 
news:comp.infosystems.www.servers.unix 
tel:+1-816-555-1212 
telnet://192.0.2.16:80/
 urn:oasis:names:specification:docbook:dtd:xml:4.1.2
  • 绝对URI格式

    登录信息、查询字符串、片段标识符为可选项

  • 片段标识符:锚点
    是一种页面内部超链接,如果一个页面很长,里面的内容分为N个部分,我们可以在网页顶部设置一些锚点,以便用户点击相应锚点快速到达本业相应位置。锚点在URL最右边,以#开头。

第二章 简单的HTTP协议

请求报文&响应报文格式

  • 请求报文是由请求方法、请求URI、协议版本、可选的请求首部字段和内容实体构成
GET /index.htm HTTP/1.1
HOST: hackr.jp
  • 响应报文
HTTP/1.1 200 OK
Date: Tue, 10 Jul 2012 06:50:15 GMT
Content-Length: 362
Content-Type: text/html
<html>
……

HTTP和Cookie

  • HTTP协议不保存状态,即无状态协议。可更快地处理大量事物,确保协议可伸缩性
  • Cookie指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。
    有了Cookie再用HTTP就可以管理状态了

HTTP的方法

  • GET:获取资源
  • POST:传输实体主体
  • PUT:传输文件
    不带验证机制,存在安全性问题
  • HEAD:获取报文首部
    与GET方法一样,只是不返回报文主体部分
  • DELETE:删除文件
    与PUT方法一样,不带验证机制
  • TRACE:追踪路径
    在发送请求时,在MAX-Forwards首部字段中填入数值,每经过一个服务器数值就减1,直到0,停止传输,最后服务器端返回状态码200 OK的响应。
    TRACE方法不常用,并且容易引发XST(跨站追踪)攻击。
  • OPTIONS:询问支持的方法
请求OPTIONS * HTTP/1.1
响应HTTP/1.1 200 OK
Allow:GET,POST,HEAD,OPTIONS
(返回服务器支持的方法)
  • CONNECT:要求用隧道协议连接代理
    与代理服务器之间建立隧道,实现用隧道协议进行TCP通信
    主要使用SSL和TLS协议把通信内容加密后经过网络隧道传输
    CONNECT方法格式如下:

CONNECT 代理服务器名:端口 HTTP版本

持久连接

  • 建立一次TCP连接(三次握手)后进行多次通信
  • HTTP1.1默认所有连接都是持久连接
  • 但是还是需要发送请求后等待响应,才能发送下一次请求

管线化

  • 不需要等待响应就可以发送下一次请求

使用Cookie管理状态

  • 第一次请求时,服务器端生成Cookie,在响应报文添加Set-Cookie字段返回给客户端,提醒客户端保存Cookie
  • 第二次请求时,客户端在请求报文中添加Cookie信息,服务器端根据cookie信息来判断该客户端的状态(比如登录)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值