HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。
HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
特点:
HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快
HTTP Content-Type,内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些Asp网页点击的结果却是下载到的一个文件或一张图片的原因。
浏览器与服务器的交互
1.在浏览器输入要访问的服务器地址
2.浏览器发送请求报文
3.服务器处理请求,发送响应报文
4.浏览器接收响应报文,并解析,展现给用户。
<form action="" method="">
<input type="text" name="">
</form>
可以通过表单的form标签中的method属性指定发送请求的类型。
这里的请求有8中,一般我们只会使用get post 这两种请求
get与post
相同点:都会将数据提交给远程服务器
不同点:提交的数据存储位置不同
1.get会将提交的数据直接拼接在URL后面 ?name1=value1&name2=value2
2.post会将提交的数据放在请求头中。
提交的数据大小限制不同
1.get请求对数据的大小有限制
2.post请求对数据的大小没有限制
综合:get适合非敏感和小数据 post提交敏感和大数据
搭建服务器:wampserve
服务端编程语言:php
请求报文(浏览器发送)
请求行(request line)、请求头部(header)、空行和请求数据四个部分组成
响应报文(服务器发送)
状态行、消息报头、空行和响应正文。
响应行 响应头 响应体(展现给用户看的)