zoukankan      html  css  js  c++  java
  • Http学习

    1.HTTP协议
    1)什么是HTTP协议
    就是一个规范,约定了:
    A.浏览器和服务器如何通信。
    B.浏览器和服务器通信的数据格式。
    2)如何通信
    A.建立连接
    B.发送请求
    C.接收响应
    D.关闭连接
    特点:一次连接一次请求。
    优点:尽可能降低服务器的压力。
    3)数据格式
    A.请求数据
    --请求行
    协议类型、请求方式、Servlet路径
    --消息头
    请求数据的一些描述信息
    --实体内容
    浏览器给服务器传递的具体数据
    B.响应数据
    --状态行
    协议类型、状态码、状态
    --消息头
    响应数据的一些描述信息
    --实体内容
    服务器给浏览器返回的具体数据
    注:
    --以上数据的组成需要记住;
    --具体数据的格式不用记住,
    在服务器端(MyEclipse控制台),
    在浏览器端(NetWork)可以很直观
    的看到这些数据。
    4)如何处理HTTP协议
    A.如何处理通信
    已经由浏览器和服务器共同处理完毕。
    是由他们内部自带的通信组件完成的。
    组件:满足规范的对象。
    B.如何处理数据
    a.在Java中,服务器端采用Servlet
    处理通信数据。
    b.service(request,response)
    --request处理请求数据
    --response处理响应数据
    2.请求方式
    1)什么是请求方式
    浏览器向服务器发送请求传递数据的方式。
    2)掌握2种方式:
    A.get
    --采用URL传递数据,即浏览器会将要
    传递的数据附加在URL上传给服务器
    --数据在传递的过程中可见,保密性差
    --传递的数据大小受限,很小
    B.post
    --采用实体内容传递数据
    --数据在传递的过程中不可见
    --传递的数据大小不限,很大
    3)使用场景
    get:在浏览器向服务器索取(查询)数据时。
    post:在浏览器向服务器提交数据时。
    3.中文乱码
    1)什么时候会出现乱码?
    编码和解码的方式不一致。
    2)请求时乱码
    A.get
    a.修改tomcat的配置文件,即修改
    /tomcat/conf/server.xml中的70行,
    增加URIEncoding="utf-8"。
    b.不修改解码方式,让Servlet直接接收
    乱码,然后采用ISO8859-1将其还原成
    byte,再用UTF-8编成String。
    c.建议,在get请求出现乱码时,尽量
    使用post请求,因为post请求处理
    乱码比较简单。
    B.post
    在使用request获取数据前,设置解码
    方式为UTF-8
    request.setCharacterEncoding("UTF-8")
    3)响应时乱码
    a.设置服务端编码方式
    response.setCharacterEncoding("UTF-8")
    b.设置客户端解码方式
    response.setContentType(
    "text/html;charset=UTF-8")
    4)总结:
    请求乱码:
    a.get
    避免在get请求中传中文,若一定要传,
    改用post请求。
    b.post
    在获取数据前设置解码方式
    req.setCharacterEncoding("utf-8")
    响应乱码:
    res.setContentType(
    "text/html;charset=utf-8")

    补充:
    1.JavaBean
    满足如下规范的类:
    1)必须有包
    2)必须有默认构造器
    3)必须实现序列化接口
    4)通常有get、set方法

  • 相关阅读:
    things to analysis
    retrieve jenkins console output
    temp
    temp
    mysql on Mac OS
    Scala的几个小tips
    docker查看容器使用率
    JVM性能监控(jconsole和jvisualvm)
    线程死锁问题
    线程阻塞状态
  • 原文地址:https://www.cnblogs.com/lwy19998273333/p/5487691.html
Copyright © 2011-2022 走看看