Android_网络篇_基本协议

网络数据协议

  • HTTP 协议,建立在TCP/IP 的基础上
  • FTP 协议
  • TCP/IP 协议,socket 编程(分客户端和服务端)

HTTP 请求头

浏览器中请求一次百度的网页


Android_网络篇_基本协议_第1张图片
HTTP 请求头.png

第一行(Request-Line):GET/HTTP/1.1 代表以get方式请求1.1版本的 HTTP 协议
Accept:/ 代表可以接受所有的数据类型
Accept-Encoding:gzip,deflate代表可以接收压缩过后的数据
Accept-Language:zh-CN 语言
Connection : Keep-Alive 维护长连接
Cookie : 存在网页上的值
User-Agent: 用户请求头

服务器接受到这些内容后,会按照请求路径找到对应的网页,将网页的内容返回给客户端
网页内容的三种方式:

  • HTML
  • XML
  • JSON

通信的过程中需要文件的上传、下载会以 IO 流的方式传输

下载一张图片

private void getNetWorkImage() {
    new Thread(new Runnable() {
        
        @Override
        public void run() {
            try {
                URL imageUrl = new URL("https://www.baidu.com/img/bdlogo.png");
                HttpURLConnection conn = (HttpURLConnection) imageUrl.openConnection();
                conn.setConnectTimeout(10000);
                conn.setRequestMethod("GET");
                if(conn.getResponseCode() == 200) {
                    InputStream is = conn.getInputStream();
                    Bitmap bitmap = BitmapFactory.decodeStream(is);
                    Message msg = mHandle.obtainMessage();
                    msg.what = 1;
                    msg.obj = bitmap;
                    mHandle.sendMessage(msg);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }).start();
    
}

你可能感兴趣的:(Android_网络篇_基本协议)