http协议

最简单的web应用程序

基于socket实现一个最简单的web应用程序:

import socket

sock=socket.socket()
sock.bind(("127.0.0.1",8800))
sock.listen(5)

while 1:
    print("server is working...")
    conn,addr=sock.accept()
    recv_data=conn.recv(1024)
    conn.send(b"HTTP/1.1 200 OK\r\n\r\n<h1>welcom to Web!</h1>")
    conn.close()

sock.close()

http协议


1.超文本传送协议

2.特性:
1.基于tcp/ip协议 (应用层)
2.基于请求---响应模式 (客户端----服务端)
3.无状态保存 --- 更快处理大量事务 实现保存状态功能引入了 cookie技术,管理状态 (浏览器端)
4.无连接 限制每次连接只处理一个请求 节约传输成本

3.请求方式:
1 get : 查询数据
2 post : 提交数据,添加记录
3 put/patch: 更新数据
4 delete: 删除数据


post请求协议格式:
请求首行
请求头
空行
请求体 (只有post 才有请求体)

get与post请求:
1.GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,
如EditBook?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的请求体中.

     2.GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.


浏览器向服务器发送请求数据的编码格式(contenttype):
1. urlencoded 数据 一般默认为urlencoded
2. json
3.formdata

用form表单提交数据时有两种数据格式:
        1.urlencoded  默认
        2.form-data   传文件时
    ajax:
        1.urlencoded  默认  a=1&b=2
        2.json       json数据    {"a":1,"b":2}

    请求头:
          content-type

          
          浏览器------------------>服务器          
          1 针对post请求(post请求才有请求体)
          2 向服务器发送post请求有哪些形式:
                form表单 (urlencoded编码格式)
                    user=yuan
                    pwd=123                    
                Ajax(urlencoded编码格式)
                     a=1
                     b=2
         
              请求协议格式字符串
              发送urlencoded编码格式数据
              '''
                  请求首行
                  请求头
                    content-type:"urlencoded"
                  空行
                  请求体 #  user=yuan&pwd=123   urlencoded编码格式
              '''
              发送json数据
               '''
                  请求首行
                  请求头
                  content-type:"json"
                  空行
                  请求体 #  {"user":"yuan","pwd":123}   json编码格式
              '''

http请求协议与响应协议

http协议包含由浏览器发送数据到服务器需要遵循的请求协议与服务器发送数据到浏览器需要遵循的请求协议。

用于HTTP协议交互的信被为HTTP报文。请求端(客户端)的HTTP报文 做请求报文,响应端(服务器端)的 做响应报文。

HTTP报文本身是由多行数据构成的字文本。

1.请求协议

2.响应协议

 

 

 

响应状态码:

状态码的职 是当客户端向服务器端发送请求时, 返回的请求 结果。借助状态码,用户可以知道服务器端是正常 理了请求,还是出 现了

状态码如200 OK,以3位数字和原因 成。数字中的 一位指定了响应 别,后两位无分 。响应 别有以5种。

 
posted @ 2019-02-28 16:15  冰底熊  阅读(159)  评论(0编辑  收藏  举报