zoukankan      html  css  js  c++  java
  • servlet(二)

    http协议

    (1)什么是http协议?

    是一种网络应用层协议,规定了浏览器如何与web服务器之间进行通信以及相应的 数据包的结构。

    浏览器与web服务器之间如何通信?
    step1.建立连接
    step2.发送请求
    step3.发送响应
    step4.关闭连接
    如果浏览器要再发送请求,需要重新建立新的连接,即“一次请求,一次连接”。
    优点:web服务器可以利用有限的连接为尽可能多的请求服务。


    (2)数据包的结构

    1)请求数据包

    a.请求行 (请求方式 请求资源路径 协议和版本)
    b.若干消息头
        消息头是一些键值对(使用": "隔开),浏览器与web服务器之间
        可以通过发送一些消息头来传递一些特定的信息。比如,浏览器
        可以发送"user-agent"消息头来告诉web服务器浏览器的类型和版本。
    c.实体内容
        只有当请求方式为post时,实体内容才会有数据。

    2)响应数据包

    a.状态行 (协议和版本 状态码 状态描述)
        注:
            状态码是一个三位数字,描述服务器处理请求的一种状态
           200: 正解
             500: 系统出错
             404: 依据请求路径找不到对应的资源
             405: 找不到处理方法 
    b.若干消息头
        web服务器也可以发送一些消息头给浏览器,比如,可以发送"content-type"消息头,告诉浏览器,服务器返回的数据类型和编码。
    c.实体内容
        程序的处理结果,浏览器会解析出来,生成相应的页面。

    (3)两种请求方式

    1)get请求

    a.哪一些情况下浏览器会发送get请求?
        在浏览器地址栏输入某个地址
        点击链接
        表单默认的提交方式
    
    b.特点
        b1.会将请求参数显示在浏览器地址栏,不安全。
        注:
            有一些网络设备,比如路由器,会记录请求地址。
        b2.会将请求参数添加到请求资源路径的后面(即请求行里面),只
        能提交少量的数据。
        注:
            整个请求行,大约能存放2k左右的数据。

    2)post请求

    a.哪一些情况下,浏览器会发送post请求?
        将表单的method属性设置为post。
    b.特点
        b1.不会将请求参数显示在浏览器地址栏,相对安全一些。
        注:
            http协议对数据包并不会加密处理,所以,对于敏感数据
        需要加密(使用https协议)。
        b2.会将请求参数添加到实体内容里面,可以提交大量数据。



  • 相关阅读:
    codeforce1214E Petya and Construction Set
    codeforces1214D Treasure Island
    CCPC2019网络赛1002 array (主席树)
    POJ2442
    计算机网络-应用层(3)Email应用
    计算机网络-应用层(2)FTP协议
    计算机网络-应用层(1)Web应用与HTTP协议
    算法-排序(1)k路平衡归并与败者树
    算法-搜索(6)B树
    RSA加密算法和SSH远程连接服务器
  • 原文地址:https://www.cnblogs.com/dxllp/p/10725464.html
Copyright © 2011-2022 走看看