最近做网站开发有前途没,网络认证登录页面,企业网站设计过程中,做旅游网站的设计感想HTTP/1.1协议
2018年01月04日 17:27:35 上杉绘梨衣- 阅读数 245
HTTP是hypertext transfer protocol(超文本传输协议)的简写#xff0c;它是TCP/IP协议的一个应用层协议#xff0c;用于定义WEB浏览器与WEB服务器之间数据交换的过程。 1.Http1.0和1.1
Http1.0:请求一次它是TCP/IP协议的一个应用层协议用于定义WEB浏览器与WEB服务器之间数据交换的过程。 1.Http1.0和1.1
Http1.0:请求一次连接自动断开。
Http1.1:一次连接可以发起多次请求。 2.在windows中使用telnet发起Http请求
telnet localhost 8080 //连上服务器
GET /abc/1.html HTTP/1.1 // 编写HTTP请求
Host: // 输入服务器名 3.HTTP请求的格式
【一个请求行】换行
【若干个请求头】换行 换行
【post消息】
例如
GET /books/abc.html HTTP/1.1
Accept:image/webp,image/*,*/*;q0.8 Accept-Encoding:gzip, deflate, sdch Accept-Language:zh-CN,zh;q0.8 Cache-Control:max-age0 Connection:keep-alive Cookie:uuid_tt_dd1603386812225897869_20161020; __message_sys_msg_id0; __message_gu_msg_id0; __message_cnel_msg_id0; __message_district_code000000; __message_in_school0; dc_tosofbqa0; dc_session_id1476929736226 Host:dc.csdn.net Referer:http://www.csdn.net/article/2014-09-17/2821721 User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36
// 说明 //第一行是请求行 格式为【请求方式 资源URL HTTP版本号】
// 请求方式共有7种常用的是GET和POST两种GET常用来从服务器得到信息POST主要用来向服务器提交信息
// GET请求提交给服务器的信息被写在URL的““后面使用“”分隔多个键值对,不具有保密性通常该信息容量最大不超过1K
// POST请求发给服务器端的信息无容量限制该信息被放在请求体里发给服务器。POST请求通常通过form表单提交。
//第二行开始是多条请求头信息 2.常用请求头
Accept:客户支持的数据类型全支持是*/*部分支持比如text/html image表示支持HTML和图片
Accept-Charset:客户机采用的编码方式
Accept-Language:客户机语言环境用来提示服务器进行正确的国际化如zh-cn表示中文中国地区
Accept-Encoding:客户端支持的压缩格式服务器端可根据该信息将响应内容压缩至该格式进行传输
Host:请求哪个主机的资源
If-Modified-Since:如果服务器端相应资源的最后修改日期比这个日期新就发送新的相应否则就读取客户机浏览器缓存
Referer:表明当前的请求是从哪个页面发送出来的用来支持服务器端做防盗链工作。
User-Agent:客户机的软件环境如浏览器品牌及版本操作系统品牌及版本等
Cookie:Cookie信息
Connection:用来告诉服务器端当响应完成以后连接是关闭还是保持。常用的值两个close/Keep-Alive
Date:客户机的时间 5.响应的格式
【一行状态行】换行
【若干个响应头】换行 换行
【实体内容】
举例
HTTP/1.1 200 OK
Access-Control-Allow-Credentials:true Access-Control-Allow-Methods:GET,POST Access-Control-Allow-Origin:http://so.csdn.net Connection:keep-alive Content-Encoding:gzip Content-Type:text/plain;charsetUTF-8 Date:Thu, 20 Oct 2016 02:15:38 GMT Expires:Thu, 01-Jan-1970 00:00:00 GMT Keep-Alive:timeout20 Server:openresty Set-Cookie:dc_session_id1476929736226;Path/;Domaincsdn.net;ExpiresThu, 20-Oct-2016 02:45:38 GMT Transfer-Encoding:chunked Vary:Accept-Encoding
//说明
// 第一行是状态行 格式为【HTTP版本号 状态码 原因叙述】
// 状态码用于表示服务器对请求的处理结果它是一个三位的十进制数响应状态码分为5类
// 100~199表示成功接收请求要求客户端继续提交下一次请求才能完成整个处理过程。不常见。
// 200~299表示成功接收请求并已完成整个处理过程常用200
// 300~399为完成请求客户机需要继续细化请求。例如请求的资源已经移动到一个新地址。常用302、304和307 // 302:请求被服务器重定向到新的URL与响应头中的Location头配合使用 // 307和304服务器要求客户机去拿缓存
// 400~499客户端的请求有错误。常用404、403。404表示请求的资源不存在。403表示用户没有访问该资源的权限。
// 500~599服务器端有错误产生常用500。 6.常用响应头
Location:客户发来的请求服务器端告诉客户端你要的东西我没有你可以去找某某这个过程术语叫做请求重定向而Location就是这个某某。
Server:服务器的类型
Content-Encoding数据压缩格式
Content-Length:数据长度
Content-type:数据类型
Last-Modified资源缓存时间
Refresh:连命令浏览器多长时间刷新一次
Content-Disposition:是否以下载的方式打开资源
Transfer-Encoding:数据传送格式
ETag:缓存内容的头
Expires:缓存过期时间
Cache-Control:no-cache是否要缓存
Pragma:no-cache是否需要缓存 https://tyloafer.github.io/posts/43499/