http编程综述:亦可称为soap编程。通常情况下,http编程要比socket编程相对要简单易用得多。所以用的最广广泛。


一、http编程其实就是http请求。http请求最长用的方法是 get 和 post 方法。


==》get方法和post方法相比理解起来比较简单,get方法可以直接请求一个url,也可以url后面拼接上参数作为一个新的url地址进行请求。get方法后面的value要经过unicode编码。form的enctype属性默认为application/x-www-form-urlencoded。不能发送二进制文件。
==》post方法相对要复杂一些。首先post方法要设置key和value ,所有的key和value都会拼接成 key1=value1&key2=value2的样式的字符串,然后这个字符串转化为二进制放到 http请求的body中。当请求发送的时候,也就跟随body一起传给服务器。http请求Content-Type设置为:application/x-www-form-urlencoded。这里讲的只是简单的post请求,一般发送文件不会选择这种方式(从技术方面考虑也可以发送文件,就是把文件以 key 和 value的方式放入)



socket(http的底层编程)


1.Socket 又称 套接字
        网络上的两个程序通过一个 双向的通信连接实现数据的交换,这个连接的一端成为一个 socket
        应用程序通常通过套接字向网络发送请求或者应答网络请求


        2.网络通信的要素
            1)网路上的请求就是通过Socket来建立连接然后相互通信
            2)IP地址(网络上的主机设备的唯一标识)
            3)端口号(定位程序)
                用于标示进程(一个进程代表一个应用程序)的逻辑地址,不同进程的标示
                有效端口:0~65535,其中 0~1024 由系统使用或者端口保留,开发中建议使用1024以上的端口


        3.传输协议(用什么样的方式进行交互)
            1)通讯的规则
            2)常见的协议:TCP、UDP


        (Http的连接方式就是TCP)


    TCP & UDP
        TCP(传输控制协议)
            1)建立连接,形成传输数据的通道
            2)在连接中进行大数据传输(数据不受限制)
            3)通过三次握手完成连接,是可靠协议,安全送达
            4)必须建立连接,效率会稍低


        UDP(用户数据报协议)(一般用于广播)
            1)将数据及'源(我的ip 地址)和目的(需要到达的用户们的ip 地址)'封装成数据包中,不需要建立连接
            2)每个数据报的大小限制在64k之内
            3)因为无需连接,因此是不可靠的连接
            4)不需要建立连接,速度快