Http工作原理
Http协议时Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议,它是基于TCP/IP通信协议来传递数据Http协议工作于客户端-服务端架构上,浏览器作为Http客户端通过URL向HTTP服务端即WEB服务端发送请求。服务端接收到请求后,向客户端发送相应信息。
Http三点注意事项:
Http是无连接的:无连接的含义是限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接,采用这种方式可以节省传输时间;
Http是媒体独立的:这意味着只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过Http发送,客户端以及服务器指定使用适合的MIME-type内容类型;
Http是无状态:Http协议是无状态协议,无状态是指协议对于事务处理没有记忆能力,缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大,另一方面,在服务器不需要先前信息时它的应答就比较快。
一个Http客户端是一个应用程序,通过连接到服务器达到向服务器发送一个或多个Http的请求的目的;一个Http服务器同样也是一个应用程序,通过接收客户端的请求并向客户端发送Http相应数据;Http使用统一资源标识符(URI)来传输数据和建立连接,一旦建立连接后,数据消息就通过类似internet邮件所使用的格式和多用途 internet邮件扩展。来传送。客户端发送一个Http请求道服务器的请求消息包括以下格式:请求行、请求头部、空行和请求数据四个部分组成。
image.png
Http请求方法
image.pngHttp状态码
image.pngimage.png
Http content-type
Content-Type内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到的一些Asp网页点击的结果却是下载到的一个文件或一张图片的原因。
Content-Type一般有三种:
application/x-www-form-urlencoded:数据被编码为名称/值对,这是标准的编码格式;
multipart/form-data:数据被编码为一条消息,网页上的每一个控件对应消息中的一个部分;
text/plain:数据以纯文本形式进行编码,其中不含任何控件或格式字符。
form的enctype属性为编码方式,常用的有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www-form-urlencoded。
当用get请求时,浏览器x-www-form-urlencoded的编码方式把form数据转换成一个字符串,然后把这个字符串追加到url后面,用?分割,加载这个新的url。当用post请求时,浏览器把form数据封装到http的body中,然后发送到server,如果没有type=file的控件,用默认的application/x-www-form-urlencoded就可以了,但是如果有type=file的话,就要用到multipart/form-data了;当用post请求且content-type的类型是multipart/form-data,浏览器会把整个表单以控件为单位分割,并为每个部分加上Content-Disposition(form-data或者file)、Content-Type(默认为text/plain)、name等信息,并加上分隔符。
get和post
image.png�
网友评论