web应用和http协议

Posted 休耕

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web应用和http协议相关的知识,希望对你有一定的参考价值。

一、web应用

  Web应用程序是一种可以通过Web访问的应用程序;

  程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件。

  应用程序有两种模式C/S、B/S

  1、C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。

  2、B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助谷歌,火狐等浏览器来运行。

  WEB应用程序一般是B/S模式。Web应用程序首先是“应用程序”,和用标准的程序语言,如java,python等编写出来的程序没有什么本质上的不同。在网络编程的意义下,浏览器是一个socket客户端,服务器是一个socket服务端。

# -*- coding:utf-8 -*-
__author__ = ‘Qiushi Huang‘

import socket

sock = socket.socket()
sock.bind(("127.0.0.1",8800))   # 服务器地址和端口
sock.listen(5)


while True:
    print("server waiting.......")
    # conn:客户端套接字对象,addr:
    conn,addr = sock.accept()  # 等待用户连接
    data = conn.recv(1024)
    print("data", data)

    # 读取html文件
    with open("index.html", "r") as f:
        data = f.read()

    # 响应首行(HTTP/1.1 200 OK)、响应体
    # conn.send(b"HTTP/1.1 200 OK

<h1>hello luffycity!</h1>")   # 一般都是需要两个空格分隔



    # 相应首行和html文件读取出来的相应体,统一编码为二进制格式发送给浏览器
    conn.send(("HTTP/1.1 200 OK

%s" % data).encode(‘utf-8‘))

    conn.close()

    """
    请求首行里有多个请求头,每个请求头用
进行区分。  知道出现

时,后面的为请求体。
    
    get请求没有请求体,请求体是给post请求用的。
    
    GET提交的数据会放在URL之后,以?分割URL和传输数据:http://127.0.0.1:8800/yuan?name=yuan&age=22
    b‘GET /yuan?name=yuan&age=22 HTTP/1.1
Host: 127.0.0.1:8800
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,und;q=0.8

‘
    
    请求体(a=1&b=2)  # 注意只有post请求才有请求体
    
    b‘GET / HTTP/1.1
Host: 127.0.0.1:8800
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,und;q=0.8

‘
    
    url:
    协议://IP:端口(80)/路径?a=1&b=2
    """

  

以上是关于web应用和http协议的主要内容,如果未能解决你的问题,请参考以下文章

servlet,filter,listener,intercepter区别

HTTP协议基础

图解HTTP读书笔记

安全测试 web安全测试 常规安全漏洞 可能存在SQL和JS注入漏洞场景分析。为什么自己没有找到漏洞,哪么可能存在漏洞场景是?SQL注入漏洞修复 JS注入漏洞修复 漏洞存在场景分析和修复示例(代码片段

web服务

web应用和http协议