接下来的内容都建立在TCP连接已经建立的情况下
HTTP请求格式
HTTP请求包括GET和POST格式,GET仅请求资源,POST会附带用户数据
HTTP GET请求格式
GET /index.html HTTP/1.1
Header1: Value1
Header2: Value2
Header3: Value3
Host: www.sina.com.cn
Date:Mon, 12 May 2015 03:44:22 GMT
每个Header一行一个,换行符是\r\n。
当遇到连续两个\r\n时,Header部分结束,后面的数据全是Body。
HTTP POST请求格式:
POST /index.html HTTP/1.1
Header1: Value1
Header2: Value2
Header3: Value3
Body data here...
(其中POST 所带的用户数据存放在Body中)
HTTP响应格式
当浏览器读取到新浪首页的HTML源码后,它会解析HTML,显示页面,然后,根据HTML里面的各种链接,再发送HTTP请求给新浪服务器,拿到相应的图片、视频、Flash、JavaScript脚本、CSS等各种资源,最终显示出一个完整的页面。所以我们在Network下面能看到很多额外的HTTP请求。
本文学习自廖雪峰的Python教程(HTTP协议简介)