Python连载58-http协议简介
一、http协议实战
1.URL(Uniform Resource Located)
(1)使用FFTP的URL,例如:ftp://rtfm.mit.edu
(2)使用HTTP的URL,例如:http://www.baidu.com
2.HTTP工作原理
(1)浏览器分析超i链接中的URL
(2)浏览器向DNS请求解析网站的IP地址
(3)DNS将解析出的IP地址返回浏览器
(4)浏览器与服务器建立TCP连接(80端口)
(5)浏览器请求文档:GET/index.html
(6)服务器给出响应,将文档index.html发送给浏览器
(7)释放TCP连接
(8)浏览器显示index.html中的内容
3.持久连接和非持久连接
4.无状态性
是指同一个客户端(浏览器)第二次访问同一个Web服务,服务器无法知道这个客户端曾经访问过。HTTP的无状态性简化了服务器的设计,使其更容易支持大量并发的HTTP请求。
5.HTTP报文结构:(1)请求报文;(2)返回报文;(3)请求报文的方法;(4)响应报文中的状态码;(5)首部字段或消息头;(6)报文结构实例。
6.请求报文:即从客户端(浏览器)向Web服务器发送的请求报文,报文的所有字段都是ASCII码
{
方法 URL 版本 CRLF
首部字段名 值 CRLF
首部字段名 值 CRLF
.....
.....
首部字段名 值 CRLFsho
CRLF
实体主体(Entity body)
}第一行是请求行,例如:GET/index.html/1.1
首部行:用来说明浏览器、服务器或报文主体的一些信息/
如:
HOST:www.sxtyu.com
Connection:close
User:Agent:Mozilla/5.0
Accept-Language:cn
7.接收报文
{
版本 状态码 短语 CRLF
首部字段名 值 CRLF
首部字段名 值 CRLF
.....
.....
首部字段名 值 CRLFs
CRLF
实体主体(Entity body)
}
第一行是状态行,如:HTTP/1.1 200 OK
首部行:用来说明浏览器、服务器胡总和报文主体的一些信息。如:
Date :Wed 08 May 2008 22
Sever:Apach/1.3.2(Unix)
Content0Length:
DateDaDat4096
Content-Type:text/html
7.请求报头的方法
方法是对所有请求对象所进行的操作,也就是一些命令,请求报文中的操作有:
GET 请求读取一个Web页面 HEAD 请求读取一个Web页面的首部
POST 附加一个命名资源(如Web页面)
PUT 请求存储一个Web页面
DELETE 删除Web页面
TRACE 用于测试,要求服务器送回收到的请求
CONNECT 用于代理服务器
OPTION 查询特定选
8.响应报文中状态码
1xx 含义:通知信息;例如:100=服务器正在处理客户请求
2xx 含义:成功;例如:200=请求成功(OK)
3xx 含义:重定向;例如:301=页面改变了位置
4xx 含义:客户错误;例如:403=禁止的页面;404=页面未找到
5xx 含义:服务器错误;例如:500=服务器内部错误;503=以后再试
具体各个状态码的含义,请参考W3C的HTTP1.1标准规范RFC2616
http://www.w3.org/Protocols/rfc2616/rtc2616.html
五、源码
2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料
Python连载58-http协议简介的更多相关文章
- Python 爬虫与HTTP协议简介
爬虫的实际例子: 搜索引擎(百度.谷歌.360搜索等). 伯乐在线. 惠惠购物助手. 数据分析与研究(数据冰山知乎专栏). 抢票软件等. 什么是网络爬虫: 通俗理解:爬虫是一个模拟人类请求网站行为的程 ...
- Python连载6-time包函数简介
一.接连载5中time模块 1.函数:altzone (1)含义:获取当前时间与UTC时间相差的秒数,再有夏令时的情况下. (2)格式:time.altzone 2.函数:daylight (1)含义 ...
- python接口自动化1-http协议简介
前言 知道接口测试的小伙伴都应清楚http协议了,如果你还不清楚,那么接口测试做不好,自动化接口就更做不好了.那么做接口测试前先了解下http: HTTP协议(HyperText Transfer P ...
- python 全栈开发,Day66(web应用,http协议简介,web框架)
一.web应用 web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S.C/S是客户端 ...
- web应用,http协议简介,web框架
一.web应用 web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S.C/S是客户端 ...
- [转帖]socks5 协议简介
socks5 协议简介 http://zhihan.me/network/2017/09/24/socks5-protocol/ 什么是socks5 或许你没听说过socks5,但你一定听说过Shad ...
- web应用,http协议简介,web框架
一.web应用 web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S.C/S是客户端 ...
- Fiddler--一、HTTP协议简介
在学习Fiddler之前,最好先学习一下HTTP协议. HTTP协议简介 什么是HTTP协议 超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端 ...
- MODBUS-RTU通讯协议简介
MODBUS-RTU通讯协议简介 什么是MODBUS? MODBUS 是MODICON公司最先倡导的一种软的通讯规约,经过大多数公司 的实际应用,逐渐被认可,成为一种标准的通讯规约,只要按照这种规 ...
- JavaWeb:Web与HTTP协议简介
JavaWeb:Web与HTTP协议简介 Web的概念 什么是Web: Web是网络上使用最广泛的分布式应用架构. 旨在共享分布在网络上的各个Web服务器中的所有互相连接的信息. 三个特征: 用HTM ...
随机推荐
- GitHub上优秀的开源项目(转载)
转载出处:https://github.com/Trinea/android-open-project 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.A ...
- 构建之法组——“别吃错喽”微信小程序评价
此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9860 基于NABCD评论作品,及改进建议 1.根据(不限于)NABCD评论 ...
- 2019-9-26:渗透测试,基础学习,nmap扫描kali虚拟机服务
初识Nmap 1, 首先确定kali的ip地址,输入命令ifconfig 2, 开启所需要扫描的服务, 开启ssh:service ssh start, 确认ssh服务是否开启service ssh ...
- 基于SDF渲染字体
18号字体 18号字体放大15倍 基于sdf渲染字体放大15倍 相比常规的渲染方式,基于SDF渲染文字可无限放大并保持清晰,几乎没有开销就可实现描边,发光,抗锯齿等效果.且它只需要很小的纹理缓存SDF ...
- Selenium+Java(六)Selenium 强制等待、显式等待、隐实等待
前言 在实际测试过程中,由于网速或性能方面的原因,打开相应的网页后或在网页上做了相应的操作,网页上的元素可能不会马上加载出来,这个时候需要在定位元素前等待一下,等元素加载出来后再进行定位,根据实际使用 ...
- VS Code实现markdown画流程图
安装最新的vscode编辑器,原生支持markdown语法.不会markdow的人可以去好好学下,写文档神器!!! 1.安装Markdown Preview Enhanced插件 2.本地新建test ...
- 在Kubernetes上运行有状态应用:从StatefulSet到Operator
一开始Kubernetes只是被设计用来运行无状态应用,直到在1.5版本中才添加了StatefulSet控制器用于支持有状态应用,但它直到1.9版本才正式可用.本文将介绍有状态和无状态应用,一个通过K ...
- Intellij 生成exe可执行文件
生成jar包 编写源代码 此处我使用kotlin来编码,主函数实际功能就是输出一行文字. /** * 应用入口 * @author mazaiting */ object TestExe { @J ...
- Django4模型(操作数据库)
模型入门同步数据库的两个指令创建模型注意事项1.外键ForeignKey 模型入门 同步数据库的两个指令 python manage.py makemigrations python manage.p ...
- 转载:不是书评 :《我是一只IT小小鸟》
本文转载自刘未鹏博客:http://www.mindhacks.cn. 原文地址如下:http://mindhacks.cn/2009/10/05/im-a-tiny-bird-book-review ...