一、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协议简介的更多相关文章

  1. Python 爬虫与HTTP协议简介

    爬虫的实际例子: 搜索引擎(百度.谷歌.360搜索等). 伯乐在线. 惠惠购物助手. 数据分析与研究(数据冰山知乎专栏). 抢票软件等. 什么是网络爬虫: 通俗理解:爬虫是一个模拟人类请求网站行为的程 ...

  2. Python连载6-time包函数简介

    一.接连载5中time模块 1.函数:altzone (1)含义:获取当前时间与UTC时间相差的秒数,再有夏令时的情况下. (2)格式:time.altzone 2.函数:daylight (1)含义 ...

  3. python接口自动化1-http协议简介

    前言 知道接口测试的小伙伴都应清楚http协议了,如果你还不清楚,那么接口测试做不好,自动化接口就更做不好了.那么做接口测试前先了解下http: HTTP协议(HyperText Transfer P ...

  4. python 全栈开发,Day66(web应用,http协议简介,web框架)

    一.web应用 web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S.C/S是客户端 ...

  5. web应用,http协议简介,web框架

    一.web应用 web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S.C/S是客户端 ...

  6. [转帖]socks5 协议简介

    socks5 协议简介 http://zhihan.me/network/2017/09/24/socks5-protocol/ 什么是socks5 或许你没听说过socks5,但你一定听说过Shad ...

  7. web应用,http协议简介,web框架

    一.web应用 web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S.C/S是客户端 ...

  8. Fiddler--一、HTTP协议简介

    在学习Fiddler之前,最好先学习一下HTTP协议. HTTP协议简介 什么是HTTP协议 超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端 ...

  9. MODBUS-RTU通讯协议简介

    MODBUS-RTU通讯协议简介   什么是MODBUS? MODBUS 是MODICON公司最先倡导的一种软的通讯规约,经过大多数公司 的实际应用,逐渐被认可,成为一种标准的通讯规约,只要按照这种规 ...

  10. JavaWeb:Web与HTTP协议简介

    JavaWeb:Web与HTTP协议简介 Web的概念 什么是Web: Web是网络上使用最广泛的分布式应用架构. 旨在共享分布在网络上的各个Web服务器中的所有互相连接的信息. 三个特征: 用HTM ...

随机推荐

  1. oracle中两个服务器连接中sys密码修改问题

    问题描述:orcl服务器要连接orclstd 想要sqlplus sys/410526@orclstd as sysdba 连接orclstd数据库,但是发现啥意思密码不对,就对sys密码进行重新设置 ...

  2. Java的Arrays类 基本用法

    初识Java的Arrays类 Arrays类包括很多用于操作数组的静态方法(例如排序和搜索),且静态方法可以通过类名Arrays直接调用.用之前需要导入Arrays类: import java.uti ...

  3. C语言与汇编语言混合编程实验

    混合编程方法: 模块链接法 汇编指令嵌入法 1: 模块链接法则 模块链接法是指分别用汇编语言和C语言实现独立的模块(或子程序),再用链接程序把各模块生成的obj文件连接成一个可执行程序. 1:C语言调 ...

  4. 剑指Offer-29.最小的K个数(C++/Java)

    题目: 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 分析: 最先想到的是将数组升序排列,返回前k个元素.不过排序的话效率 ...

  5. day 23 复习

    本来应该学习day23,由于上午未学习,下去困,导致今天未进行进度 那就做一下简单的复习吧! 1. while else结构,如果while 后的条件条件不再满足 引发循环再继续,则执行else中的内 ...

  6. Pycharm报错连接linux服务器报错:Could not verify `ssh-rsa` host key with fingerprint

    忘记了截图,后来解决了就懒得再去重新制造错误了.大概记得是通过ssh连接linux时,报错 Could not verify `ssh-rsa` host key with fingerprint . ...

  7. C# VS2019 WebService创建与发布,并部署到Windows Server 2012R

    前言 上一次数据库灾备和性能优化后,数据库专家建议,在不扩容的情况下,客户端不能再频繁的扫描数据库了!一句惊醒梦中人,因为我也发现数据库越来越卡了,自从上个项目上线后,就出现了这个情况.后来分析其原因 ...

  8. @NotEmpty、@NotNull、@NotBlank注解解析

    源码解析 @NotEmpty根据JDK源码注释说明,该注解只能应用于char可读序列(可简单理解为String对象),colleaction,map,array上,因为该注解要求的是对象不为null且 ...

  9. jsp html 实现隐藏输入框,点击可以取消隐藏&&弹出输入框

    jsp代码: <script language="javascript" type="text/javascript"> function chg ...

  10. 第四章 开始Unity Shader学习之旅(1)

    1. 一个最简单的顶点/片元着色器 现在,我们正式开始学习如何编写Unity Shader,更准确的说是,学习如何编写顶点/片元着色器 2.顶点/片元着色器的基本结构 我们在以前已经讲过了Unity ...