当前位置: 移动技术网 > IT编程>脚本编程>Python > Python连载58-http协议简介

Python连载58-http协议简介

2019年12月21日  | 移动技术网IT编程  | 我要评论

传奇西游无敌版,抚州一周天气,美丽的秋天手抄报

一、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/

(6)服务器给出响应,将文档发送给浏览器

(7)释放tcp连接

(8)浏览器显示中的内容

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//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.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网