web服务器开发日记---HTTP请求及响应

转自https://blog.csdn.net/u011162260/article/details/44876421

HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下:
http://host[":"port][abs_path]
http表示要通过HTTP协议来定位网络资源;host表示合法的Internet主机域名或者IP地址;port指定一个端口号,为空则使用缺省端口 80;abs_path指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作 浏览器自动帮我们完成。

GET和POST方法的比较:

①:GET:主要用来向服务器请求资源

       POST:在URL标识的资源后附加新的数据

②:GET是在请求的URL中发送的,POST是在请求的HTTP消息主体中发送的。

③:GET会受限制,GET方法在URL中,但是URL的最大长度是2048个字符,因此长度会受到限制;POST数据在消息主体中,因此长度没有限制。

④:浏览器的后退或者刷新时,POST数据会被重新提交。

转自https://www.cnblogs.com/XJJD/p/7674007.html

HTTP协议格式:

HTTP请求:

<request line>          //http请求行,说明请求类型、要访问的资源以及使用的HTTP版本。

<headers>               //http请求消息报头,服务器要使用的附加信息。

<blank line>             //回车换行,不会发生边界问题。

[<request-body>]     //http请求正文

GET提交,请求的数据会附在URL之后,以?分割URL和传输数据,多个参数用&连接。

POST提交:把提交的数据放置在HTTP包的消息体。

所以GET提交的数据会在地址栏中显示出来,而POST提交不会。

HTTP响应:

<status line>          //http响应状态行,提供一个状态码来说明所请求的资源情况
<headers>             //http响应消息报头
<blank line>           //回车换行
[<response-body>]  //http响应正文

常用的状态码有:

200:找到了该资源,并且一切正常。

304:该资源在上次请求之后没有任何修改。通常用于浏览器的缓存机制。

401:客户端无权访问该资源。

403:客户端未能获得授权。

404:指定位置不存在所申请的资源。

猜你喜欢

转载自blog.csdn.net/weixin_42634329/article/details/81114658