博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
http协议
阅读量:5171 次
发布时间:2019-06-13

本文共 1403 字,大约阅读时间需要 4 分钟。

一 http协议简介

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW:World Wide Web )服务器与本地浏览器之间传输超文本的传送协议。

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

 

二 http协议的特性

(1)基于TCP/IP

http协议是基于TCP/IP协议之上的应用层协议

(2)基于请求-响应模式

http协议规定,请求从客户端发出,最后服务端响应该请求并返回。换句话来说,先从客户端开始建立通信的,服务端在没有收到请求之前不会发送响应

(3)无状态保存

http 是一种不保存状态,也就是说无状态协议。HTTP协议自身不对请求和响应之间的通信状态进行保存。也就是说在HTTP这个级别,协议对于发送过来的请求或响应都不做持久化处理。

 

无连接

无连接的含义就是限制每次连接只处理一个请求。服务器处理完客户的请求,并受到客户的应答后,就断开连接,采用这种方式可以节省传输时间。

 

三 http请求协议与响应协议

http协议包含由浏览器发送数据到服务器需要遵循的请求协议与服务器发送到浏览器需要遵循的请求协议。用于HTTP协议交互的信被为HTTP报文。请求端(客户端)的HTTP报文 做请求报文,响应端(服务器端)的 做响应报文。HTTP报文本身是由多行数据构成的字 文本。

 

请求协议

1 请求格式

请求方式: get与post请求

  • GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditBook?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的请求体中.
  • GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.
  • GET与POST请求在服务端获取请求数据方式不同。
     

 

2 响应协议

保留着

 

3 实列

import socketsock=socket.socket()sock.bind(("127.0.0.1",8808))sock.listen(5)while 1:    print("server waiting.....")    conn,addr=sock.accept()    data=conn.recv(1024)    print("data",data)    # 读取html文件    with open("login.html","rb") as f:        data=f.read()    conn.send((b"HTTP/1.1 200 OK\r\n\r\n%s"%data))    conn.close()

login.html

    
Title
用户名
密码

 

 

 

 

 

转载于:https://www.cnblogs.com/mlhz/p/10288533.html

你可能感兴趣的文章
ZOJ 1654 二分匹配基础题
查看>>
【玩转Ubuntu】02. Ubuntu上搭建Android开发环境
查看>>
[蓝桥杯][2017年第八届真题]小计算器(模拟)
查看>>
dede上怎么让所有链接在新窗口打开
查看>>
关于PHP性能优化(转)
查看>>
浙江理工2015.12校赛-F Landlocked
查看>>
一步步学习微软InfoPath2010和SP2010--第四章节--处理SP列表表单(1)--SP列表基础...
查看>>
golang AES/ECB/PKCS5 加密解密 url-safe-base64
查看>>
我是如何用两个星期解决了本来需要两个月而且维护成本巨大的功能(解决思路与方法)...
查看>>
Chapter 2. Overview gradle概览
查看>>
OpenGL的编程环境搭建
查看>>
/etc/fstab 参数详解及如何设置开机自动挂载
查看>>
unity 解决ScrollRect嵌套滚动问题
查看>>
Android Studio安装与配置
查看>>
当前凌晨时间戳
查看>>
mongodb 限制ip访问
查看>>
direction:rtl demo
查看>>
Arch linux LXR 安装过程
查看>>
Games
查看>>
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(五):模块化切分
查看>>