补充:一般Web服务器(响应请求中的Server部分)有Ngix,Apache,还有一些Ngix改编的如openresty
文章目录
- HTTP协议
- 请求头
- URL规则
- 内外网划分
HTTP协议
🌂:补充C/S架构 服务器-客户机,即Client-Server(C/S)结构
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
HTTP协议工作于客户端-服务端(browser/server)B/S架构为上。
浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
大概过程为:客户端通过浏览器向Server发出请求,根据请求内容返回浏览器指定的响应内容,浏览器在渲染后返回客户端并显示
HTTP版本(现在常用1.1和2)
HTTP协议请求
HTTP协议请求常用方法
请求方法 | 简单解释 |
GET | 向指定资源发出显示请求(请求内容在URL中,不安全,而且长度受限) |
HEAD | 和GET一样,但是不传回所有资源内容(一般用于测试Web服务器是否运行正常) |
POST | 向指定资源提交数据(隐式),数据被包含在请求中 |
PUT | 向指定位置上传 |
DELETE | 删除所标识的资源 |
OPTIONS | 这个方法可使服务器传回该资源所支持的所有HTTP请求方法。 |
OPTIONS | 用’*'来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作 |
(补充)关于GET与POST请求最大长度限制
引用自某位大佬博客,给出链接 1、Http get方法提交的数据大小长度并没有限制,Http协议规范没有对URL长度进行限制。
目前说的get长度有限制,是特定的浏览器及服务器对它的限制。
各种浏览器和服务器的最大处理能力如下:
IE:对URL的最大限制为2083个字符,若超出这个数字,提交按钮没有任何反应。
Firefox:对Firefox浏览器URL的长度限制为:65536个字符。
Safari:URL最大长度限制为80000个字符。
Opera:URL最大长度限制为190000个字符。
Google(chrome):URL最大长度限制为8182个字符。
Apache(Server):能接受的最大url长度为8192个字符(这个准确度待定???)
Microsoft Internet Information Server(IIS):n能接受最大url的长度为16384个字符。
2、理论上讲,post是没有大小限制的。Http协议规范也没有进行大小限制,起限制作用的是服务器处理程序的处理能力。
Tomcat下默认post长度为2M,可通过修改conf/server.xml中的“maxPostSize=0”来取消对post大小的限制。
HTTP协议请求构成
请求信息
发出的请求信息(message request)包括以下几个:
请求行(例如GET /images/logo.gif HTTP/1.1,表示从/images目录下请求logo.gif这个文件)
请求头(例如Accept-Language: en)
空行
其他消息体
请求头
请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有:
-User-Agent:产生请求的浏览器类型。
-Accept:客户端可识别的内容类型列表。
-Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。
HTTP协议常见状态码
汇总表 | |
1xx | 指示信息–表示请求已接收,继续处理 |
2xx | 成功–表示请求已被成功接收、理解、接受 |
3xx | 重定向–要完成请求必须进行更进一步的操作 |
4xx | 客户端错误–请求有语法错误或请求无法实现 |
5xx | 服务器端错误–服务器未能实现合法的请求 |
常见的状态码
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL 500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
附图方便复习食用
URL规则
http端口一般对应80,https对应443
协议://域名:端口/虚拟目录/文件名?参数#锚点
关于锚点:能让你更快速定位到某个网页区域,例如网站登录之后,回到登录前点选中的某个标签上,可以使用锚点来跳转回来。
举个简单例子:
内外网划分
内网(私网)就是局域网,外网就是公网,需要记住私网段IP范围
IPv4一共有2^32=42 9496 7296
为解决公网IP不够用的问题,提出了路由NAT转换将内网IP与internet相连
可以解决公网IP不够用的问题