一、HTTP请求方式
HTTP超文本传输协议:是短连接,是客户端主动发送请求,服务器作出响应,响应之后服务器断开。HTTP属于应用层面向对象协议,HTTP有两类报文:请求报文和相应报文。
请求报文包含:请求行、请求头、空行、请求数据四部分组成。
响应报文包含:状态行、消息报文、响应正文三部分组成。
通常,HTTP请求方式有三种,分别是:POST、GET、HEAD。其中POST和GET用于数据发送。
1、POST:它将发送的数据单独放在一个流中进行发送,而不是附加到URL地址后面,这样做的好处是这些数据不会出现在URL地址中。
2、GET:它将发送的数据直接添加到URL后面,用&链接,这样的好处是不用另外的数据流来发送这些数据,但是缺点是将用户信息暴露出来了,不安全。
3、HEAD:它是请求资源的元数据方法。
二、HTTP定义了与服务器交互的不同的方法,最基本的方法有?
1、URL全程是资源描述符,我们可以这样认为:一个URL地址,它用于一个网络上的资源,而HTTP中的GET、POST、PUT、DELETE就对应着这个资源的查、改、增、删四个操作。
2、GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。
三、socket简介
1、socket是基于TCP/IP协议,它是一个可以连通网络上不同计算机程序之间的管道,把数据从管道A端放进去,则会从管道B、C......等端冒出来。管道的端口由机器的IP和程序所使用的端口号来确认。
2、socket可以支持数据的发送和接收,它会定义一种称为套接字的变量,发送数据的时候首先创建套接字,然后使用该套接字的send to等方法对准某个IP/端口,进行数据发送;接收端口也首先创建套接字,然后将该套接字绑定到一个IP/端口上,所有发向此端口的数据会被该套接字的recv等函数读出。和读出文件中的数据一样。
3、TCP/IP的socket提供三种套接字:流式套接字、数据报式套接字、原始套接字。
4、常用的第三方库:AsyncScoket。
四、APP需要加载大量的数据,给服务器发送请求,但是服务器卡住了,请问怎么解决?
1、设置请求超时。
2、给用户提示请求超时。
3、根据用户操作再次请求数据。
五、HTTP通信的发送请求、接收相应包含哪些内容?
一个请求包含请求行、请求头、请求体。
1、请求行:包含HTTP协议版本、状态码、状态英文名称HTTP/1.1 200 ok
2、请求头:对客户端的环境描述、客户端请求的主机地址等信息。
3、请求体:客户端发送给服务器的具体数据,比如文件数据。
一个响应包括:状态行、响应头、实体内容。
1、状态行:包含HTTP协议版本、状态码、状态英文名:HTTP/1.1 200 ok
2、响应头:包含对服务器的描述、对返回数据的描述。(服务器类型、返回数据类型、返回数据长度、响应时间)
3、实体内容:服务器返回给客户端的具体数据,比如文件数据。
POST和GET的区别
六、TCP和UDP的区别
1、UDP是用户数据报协议:主要用在实时性相对较高以及对质量相对较弱的地方,但面对现在高质量的线路,不容易丢包除非是在一些拥塞的情况下,如流媒体。
七、什么是三次握手和四次挥手
1、三次握手实现过程
第一次握手:建立连接时,客户端发送同步序列编号到服务器,并进入发送状态,等待服务器的确认。
第二次握手:服务器收到同步序列编号,确认并同时自己也发送一个同步序列编号+确认标志,此时服务器进入等待状态。
第三次握手:客户端收到服务器发送的包,并向服务器发送确认标志,随后连接成功。
注意:是在链接成功之后再进行数据传输。
2、四次挥手
第一次:客户端向服务器发送一个带有结束标记的报文。
第二次:服务器收到报文之后,向客户端发送一个确认序号,同时通知自己相应的程序,对方要求关闭链接。
第三次:服务器向客户端发送一个带有结束标记的报文。
第四次:客户端收到报文后,向服务器发送一个确认序号。链接关闭。
八、JSON和XML的区别?
1、可读性:基本相同,XML的可读性比较好。
2、可扩展性:都有很好的可扩展性。
3、编码难度:JSON编码比较容易。
4、解码难度:JSON解码难度基本为零,XML要考虑子节点和父节点。
5、数据体积:JSON体积较小,传输速度更快。
6、数据交互:JSON和JavaScript交互更加方便。
7、数据描述:XML对数据的描述性更好。
九、HTTP和socket的区别。
1、HTTP短连接,客户端主动发送请求,服务端才能相应,一次请求完毕后,断开链接,以节省资源。服务端不能主动给客户端相应(除非采取HTTP长连接技术)。
2、socker主要使用“套接字”链接,并没有规定连接后断开,所以客户端和服务端可以保持长连接,双方都可以主动发送数据。一般应用在股票开发、游戏等即时性很强且发送数量比较大的场合。
十、HTTP和HTTPS的区别
定义:HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。
1、HTTPS是在HTTP上加入SSL层,HTTPS的安全基础是SSL。
2、HTTP是超文本传输协议,信息是明文传输,HTTPS则是SSL加密。
3、HTTP连接的端口是80,HTTPS是443。
4、HTTP连接时无状态的,HTTPS是由SSL+HTTP协议构成的可进行加密传输、身份认证的网络协议。
5、https协议需要到ca申请证书,一般免费证书很少,需要交费。
网友评论